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

Popular posts from this blog

how to insert data php javascript mysql with multiple array session 2 -

multithreading - Exception in Application constructor -

windows - CertCreateCertificateContext returns CRYPT_E_ASN1_BADTAG / 8009310b -