Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Dados de amostra - Problema ao executar o procedimento armazenado que consiste em instruções de atualização e inserção


Na verdade não é, é parte de uma chave única composta. Então, realmente sua cláusula ON deve corresponder em
on (tgt.app_lse_s  = src.app_lse_s
    and tgt.dt_ent_s = src.dt_ent_s)

Aliás, o uso de trim() na cláusula ON é preocupante, especialmente trim(tgt.app_lse_s) . Se você estiver inserindo valores com espaços à direita ou à esquerda, sua "chave exclusiva" produzirá vários acertos quando você os aparar. Você deve cortar os espaços ao carregar os dados do arquivo e inserir valores aparados em sua tabela.

MJL_IDX0 deve me um índice exclusivo. Isso significa que você precisa incluir suas colunas em qualquer consideração de registros exclusivos.

Claramente há uma diferença entre sua lógica INSERT direta e sua lógica MERGE INSERT. Você precisa comparar as duas declarações e descobrir qual é a diferença.