Oracle
 sql >> Datenbank >  >> RDS >> Oracle

SQL-Abfrage mit ON DUPLICATE KEY UPDATE Klärung erforderlich

Oracle unterstützt das ON DUPLICATE KEY UPDATE nicht Syntax. Das scheint MySQL-spezifische Syntax zu sein.

Höchstwahrscheinlich möchten Sie anscheinend ein MERGE Erklärung

MERGE INTO table1 t1
  USING (SELECT col1, col2, col3 
           FROM table2) ss
     ON (t1.col1 = ss.col1) -- whatever the key is
   WHEN MATCHED THEN
     UPDATE SET t1.col1 = ss.col1,
                t1.col2 = ss.col2,
                t1.col3 = ss.col3
   WHEN NOT MATCHED THEN 
     INSERT( t1.col1, t1.col2, t1.col3 )
       VALUES( ss.col1, ss.col2, ss.col3 )