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.