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

Oracle:AUF DUPLICATE KEY UPDATE

Oracle hat kein on duplicate key update Verwenden Sie MERGE stattdessen:

MERGE INTO my_table trg  
USING (SELECT 30 as question_id,0 as ug FROM DUAL
UNION ALL 
SELECT 31,1 FROM DUAL) src ON (src.question_id = trg.question_id)
WHEN NOT MATCHED THEN INSERT(question_id, ug) VALUES
(src.question_id, src.ug)
WHEN MATCHED THEN UPDATE
SET trg.ug = src.ug