En realidad no lo es, es parte de una clave única compuesta. Entonces, realmente su cláusula ON debería coincidir con
on (tgt.app_lse_s = src.app_lse_s
and tgt.dt_ent_s = src.dt_ent_s)
Por cierto, el uso de trim()
en la cláusula ON es preocupante, especialmente trim(tgt.app_lse_s)
. Si está insertando valores con espacios finales o iniciales, su "clave única" producirá múltiples resultados cuando los recorte. Debe recortar los espacios cuando cargue los datos del archivo e inserte valores recortados en su tabla.
MJL_IDX0
me debe un índice único. Eso significa que debe incluir sus columnas en cualquier consideración de registros únicos.
Claramente, hay una diferencia entre su lógica INSERT directa y su lógica INSERT MERGE. Debe comparar las dos afirmaciones y averiguar cuál es la diferencia.