Det er det faktisk ikke, det er en del af en sammensat unik nøgle. Så virkelig din ON-klausul burde matche på
on (tgt.app_lse_s = src.app_lse_s
and tgt.dt_ent_s = src.dt_ent_s)
I øvrigt brugen af trim()
i ON-klausulen er bekymrende, især trim(tgt.app_lse_s)
. Hvis du indsætter værdier med mellemrum efter eller foran, vil din "unikke nøgle" producere flere hits, når du trimmer dem. Du bør trimme mellemrummene, når du indlæser dataene fra filen og indsætte trimmede værdier i din tabel.
MJL_IDX0
skal mig et unikt indeks. Det betyder, at du skal inkludere dens kolonner i enhver overvejelse af unikke poster.
Der er klart en forskel mellem din lige INSERT-logik og din MERGE INSERT-logik. Du skal sammenligne de to udsagn og finde ud af, hvad forskellen er.