sql >> Base de Datos >  >> RDS >> Oracle

Se necesita aclaración de consulta SQL con ACTUALIZACIÓN DE CLAVE DUPLICADA

Oracle no es compatible con ON DUPLICATE KEY UPDATE sintaxis. Esa parece ser una sintaxis específica de MySQL.

Lo más probable es que parezca querer un MERGE declaración

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 )