简单点,就是建立了一个源表与目标表之间的联接,根据两表之间的匹配进行操作。
。行既在目标a,又在源b,那么目标用源b的列进行更新。
。行在源b在目标a没有匹配,那么源b中的行被插入到目标a,
。行在目标表a,但是不在源表b,那么删除目标表。删除不需要where,删除行由MERGE命令筛选。
----------------------------------------------------------
MERGE a
using b
on b.name=a.name
when matched
then update
set a.num=b.num
when not matched by target
then insert (name,num)
values (name,num)
when not by source
then delete;
-----------------------------------------
注意1.由分号终止。
2.行必须一对一匹配。
3.联接条件必须为确定性。