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

SQL-forespørgsel med ON DUPLICATE KEY UPDATE-afklaring nødvendig

Oracle understøtter ikke ON DUPLICATE KEY UPDATE syntaks. Det ser ud til at være MySQL-specifik syntaks.

Mest sandsynligt ser det ud til, at du vil have en MERGE erklæring

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 )



  1. Gem dato-tidsdata som tal

  2. Sådan bruges LIKE i SQL

  3. Syntaksundtagelse på trigger med flere sætninger med MySQL og JDBC

  4. Hurtigste måde at indsætte objekt på, hvis det ikke findes med SQLAlchemy