O Oracle não suporta o
ON DUPLICATE KEY UPDATE
sintaxe. Isso parece ser uma sintaxe específica do MySQL. Muito provavelmente, você parece querer um
MERGE
declaração 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 )