sql >> Database teknologi >  >> RDS >> Oracle

Eksempeldata - Problem under udførelse af lagret procedure, som består af både opdatering og indsæt sætninger

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.




  1. Fremmednøgle i den første tabel

  2. MySQL Alter-tabel, tilføj kolonne med unik tilfældig værdi

  3. Kan ikke bruge DROP TABLE HVIS FINNES i schema.sql til en Spring Boot-applikation

  4. mysqli_connect():(HY000/2002):Forbindelsen fik timeout på hosting