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

Oracle MERGE-sætningsfejl (ORA-30926)

Det første (og mest oplagte) svar er at rydde op i dataene, så du ikke har dubletter. Det virker sandsynligt, at de eksempeldata, du har angivet, er resultatet af en fejl.

Hvad angår merge sætning, hvis dataene rent faktisk er duplikeret, kan du bare bruge distinct :

MERGE INTO maintable pr
USING      (SELECT DISTINCT contract,
                            membertype,
                            address1,
                            city,
                            state,
                            zipcode,
                            countrycode
            FROM   incrementaltable pra
            WHERE  pra.membertype = 'Parent')
ON         (pr.contract = pra.contract)
WHEN MATCHED THEN
   UPDATE SET pr.address1 = pra.address1,
              pr.city = pra.city,
              pr.state = pra.sate,
              pr.zipcode = pra.zipcode,
              pr.countrycode = pra.countrycode
      WHERE      address1 IS NULL AND pr.membertype <> 'Parent'



  1. Hjælp mig med min SQL-forespørgsel (skal altid returnere mindst én række.)

  2. Hvordan vælger man flere kolonner med samme navn ved hjælp af JPA native forespørgsel?

  3. TinyMCE UTF-8 gemmer til MySQL-database

  4. Ret "Applikationen "SQLDeveloper.app" kan ikke åbnes.'