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 )