日期:2014-05-17  浏览次数:24702 次

merge into 如何应用多个update
merge into table a
using
() b on a=b
when matched then
 update set k=1 where;
update set  m=2 where 
when not matched then

如何可以让 when matched then 中使用多个update 语句

------解决方案--------------------
引用:
merge into table a
using
() b on a=b
when matched then
 update set k=1 where;
update set  m=2 where 
when not matched then

如何可以让 when matched then 中使用多个update 语句


merge into table a
using
() b on a=b
when matched then
 update set k=1 , m=2 where;--这样不行么??
 
when not matched then



------解决方案--------------------
引用:
条件不一样,需要更新不同的字段,所以不能这样写

实在不行就分成多个MERGE来写吧
------解决方案--------------------
merge into table a
using
() b on a=b
when matched then
 update set k=(case when a=1 and b=2 then 1 else k end),
            m=(case when a=2 and b=1 then 2 else m end) where...;
  
when not matched then