merge语句中同时执行多个update或者insert操作
前言
merge into语句的基本语法:
merge into tableA tgt
using()src
on(tgt.某个字段 = src.某个字段)
when matched then
update set ..
when not matched then
insert ()
values();
commit;
同一个merge语句中执行多个update或insert操作
merge into tableA tgt
using(select a,b,c from tableB)src
on(tgt.a = src.a)
when matched then
update set
tgt.某个字段 = (case when a = 1 then 1 when a = 2 then 2 else 3 end)
when not matched then
insert (tgt.某个字段)
values((case when a = 1 then 1 when a = 2 then 2 else 3 end));
commit;