sql >> Databasteknik >  >> RDS >> Oracle

SQL-fråga med ON DUPLICATE KEY UPDATE förtydligande behövs

Oracle stöder inte ON DUPLICATE KEY UPDATE syntax. Det verkar vara MySQL-specifik syntax.

Troligtvis verkar du vilja ha en MERGE uttalande

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. Hur man utvärderar uttryck i select-sats i Postgres

  2. Få en lista över tidszoner som stöds i SQL Server (T-SQL)

  3. Få datum från ett veckonummer i T-SQL

  4. Konvertera 'datetime' till 'date' i SQL Server (T-SQL-exempel)