sql >> Database >  >> RDS >> Oracle

UPDATE op INSERT dubbele primaire sleutel in Oracle?

MERGE is de instructie 'do INSERT or UPDATE zoals van toepassing' in Standard SQL, en waarschijnlijk dus ook in Oracle SQL.

Ja, je hebt een 'tabel' nodig om vanaf te mergen, maar je kunt die tabel vrijwel zeker on-the-fly maken:

 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);

(Syntaxis niet geverifieerd.)



  1. Expliciete MySQL-querycache uitschakelen in sommige delen van het programma

  2. Hql, Hoe schrijf ik een join-query tussen tabellen die een op veel relatie heeft?

  3. kopieer van de ene database naar de andere met Oracle SQL Developer - verbinding mislukt

  4. TSQL:geneste splitsing/ontleding van tekenreeks in tabel (meerdere aaneengeschakelde Tag:Waarde in één tekenreeks)