oracle - SQL query with ON DUPLICATE KEY UPDATE clarification needed -
this question has answer here:
i'm trying use following query:
insert table1(col1, col2, col3) select ss.col1, ss.col2, ss.col3 table2 ss on duplicate key update col1=ss.col1, col2=ss.col2, col3=ss.col3; unfortunately "sql query not ended" message. in example syntax wrong?
the error message pops right when insert
on duplicate key update col1=ss.col1, col2=ss.col2, col3=ss.col3;
oracle doesn't support on duplicate key update syntax. appears mysql-specific syntax.
most likely, appear want merge statement
merge table1 t1 using (select col1, col2, col3 table2) ss on (t1.col1 = ss.col1) -- whatever key when matched update set t1.col1 = ss.col1, t1.col2 = ss.col2, t1.col3 = ss.col3 when not matched insert( t1.col1, t1.col2, t1.col3 ) values( ss.col1, ss.col2, ss.col3 )
Comments
Post a Comment