我想基于2列执行upsert(更新或创建):
如果表中存在A列和B列,则更新值,否则使用此键创建一个新行。
//pasdo code for my query
if(table.key1 == firstKey && table.key2 == secKey){
//update values for the row with key1, key2
} else {
//create a row with firstKey, secKey as keys
}
我在后端有一个oracle sql服务器。
最佳答案
你可以做类似的事情...
在oracle中,对偶就像虚拟表。它没有任何行..它有助于创建合并查询所需的临时表
以下可能不完全是SQL语法。
merge into table m using (select firstKey,secKey from dual d) on
(m.key1 = d.firstKey and m.key2 = d.secKey )
when not matched then insert... -- put insert statement here
when matched then update .. -- put statemenet here