MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

2 participantes

    Inserir se não existir ou Atualizar se existir sql access Insert + Update ou o famoso Merge

    mfmaiafilho
    mfmaiafilho
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 393
    Registrado : 02/08/2018

    Inserir se não existir ou Atualizar se existir sql access Insert + Update ou o famoso Merge Empty Inserir se não existir ou Atualizar se existir sql access Insert + Update ou o famoso Merge

    Mensagem  mfmaiafilho 17/6/2021, 03:01

    Boa noite, estive pesquisando sobre o assunto e não encontrei muita coisa, vim pedir ajuda do forum...

    Tenho duas tabelas no banco:
    Tabela principal = Tabela_P
    Tabela temporaria = Tabela_T

    Preciso fazer duas transações,

    Uma já consegui fazer = INSERT com SELECT pra ler os dados da Tabela_P e coloca-los na Tabela_T

    Vamos supor que tenho esses dados

    ID | NOME | IDADE
    1 , LEO , 25

    e modifico ele pra

    1, LEO, 29

    e depois acrescento outro registro

    2, ANA, 25

    Busquei sobre o metodo MERGE mas ele não existe em SQL Access, MERGE que é Mesclar fazer Insert se não existir o registro, e Update se existir o registro

    Tenho apenas a expectativa de consegui por meio desse código, porém ele dá erro de sintax no UPDATE, alguém pode ajudar?
    Não posso disponibilizar o banco pois utilizo back-end SQL SERVER

    Código:
               Dim sSQL As String
                sSQL = "UPDATE TSER_OCAND As FD"
                sSQL = sSQL & " SET FD.AND_TEXTO ="
                sSQL = sSQL & "(SELECT PD.AND_TEXTO FROM TSER_OCAND_TEMP As PD, TSER_OCAND As FD"
                sSQL = sSQL & " WHERE  FD.ID_OC = PD.ID_OC"
                gDB.Execute sSQL
                
            If gDB.RecordsAffected = 0 Then
                sSQL = "INSERT INTO TSER_OCAND (ID_OC,AND_TEXTO,AND_TEMPO,AND_STATUS,DHCAD,USERLOG)"
                sSQL = sSQL & " SELECT '" & Me.ID & "',AND_TEXTO,AND_TEMPO,AND_STATUS,DHCAD,USERLOG"
                sSQL = sSQL & " FROM TSER_OCAND_TEMP"
                gDB.Execute sSQL
                
            End If
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3054
    Registrado : 22/11/2016

    Inserir se não existir ou Atualizar se existir sql access Insert + Update ou o famoso Merge Empty Re: Inserir se não existir ou Atualizar se existir sql access Insert + Update ou o famoso Merge

    Mensagem  DamascenoJr. 17/6/2021, 21:24

    Aqui
    mendipdatasystems.co.uk/upend-query/4594428616


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.

    mfmaiafilho gosta desta mensagem


      Data/hora atual: 18/9/2021, 18:40