Ve skutečnosti tomu tak není, je to součást složeného jedinečného klíče. Vaše klauzule ON by tedy měla odpovídat
on (tgt.app_lse_s = src.app_lse_s
and tgt.dt_ent_s = src.dt_ent_s)
Mimochodem, použití trim()
v klauzuli ON je znepokojující, zejména trim(tgt.app_lse_s)
. Pokud vkládáte hodnoty s mezerami na konci nebo na začátku, váš „jedinečný klíč“ bude při ořezávání vytvářet více shod. Mezery byste měli oříznout, když načítáte data ze souboru a vkládáte oříznuté hodnoty do tabulky.
MJL_IDX0
musím mít jedinečný index. To znamená, že musíte jeho sloupce zahrnout do všech úvah o jedinečných záznamech.
Je zřejmé, že existuje rozdíl mezi vaší přímou logikou INSERT a logikou MERGE INSERT. Musíte porovnat tyto dva výroky a zjistit, jaký je rozdíl.