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

OPDATERING på INSERT dublet primærnøgle i Oracle?

MERGE er 'do INSERT or UPDATE as relevant'-sætningen i Standard SQL, og sandsynligvis derfor også i Oracle SQL.

Ja, du har brug for en 'tabel' at flette fra, men du kan næsten helt sikkert oprette den tabel med det samme:

 MERGE INTO Movie_Ratings M
       USING (SELECT 1 AS mid, 3 AS aid, 8 AS rating FROM dual) N
          ON (M.mid = N.mid AND M.aid = N.aid)
       WHEN     MATCHED THEN UPDATE SET M.rating = N.rating
       WHEN NOT MATCHED THEN INSERT(  mid,   aid,   rating)
                             VALUES(N.mid, N.aid, N.rating);

(Syntaks ikke bekræftet.)



  1. Oracle 11g omdøb. Garanteret at være atomare?

  2. Migrering af ASP.NET-medlemskabsdatabase til SQL Azure

  3. Mariadb-forbindelsesklient:Adgang nægtet for bruger (ved hjælp af adgangskode:NEJ) på mysql 8.0

  4. Tidszonelagring i datatype tidsstempel med tidszone