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

Richiesto chiarimento su query SQL con AGGIORNAMENTO CHIAVE DUPLICATA

Oracle non supporta ON DUPLICATE KEY UPDATE sintassi. Sembra essere una sintassi specifica per MySQL.

Molto probabilmente, sembrerebbe che tu voglia un MERGE dichiarazione

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 )