--Merge的使用(參考網(wǎng)址:http://www.cnblogs.com/CareySon/archive/2012/03/07/2383690.html)----創(chuàng)建原表Create Table SourceTable(id int,[DESC] varchar(50))----創(chuàng)建目標表Create Table TargetTable(id int,[DESC] varchar(50))----為原表插入數(shù)據(jù)Insert Into SourceTable(id,[DESC]) values (1,'描述1')Insert Into SourceTable(id,[DESC]) values (2,'描述2')Insert Into SourceTable(id,[DESC]) values (3,'描述3')Insert Into SourceTable(id,[DESC]) values (4,'描述4')----為目標表插入數(shù)據(jù)Insert Into TargetTable(id,[DESC]) values (1,'在原表里存在,將會被更新')Insert Into TargetTable(id,[DESC]) values (2,'在原表里存在,將會被更新')Insert Into TargetTable(id,[DESC]) values (5,'在原表里不存在,將會被刪除')Insert Into TargetTable(id,[DESC]) values (6,'在原表里不存在,將會被刪除');
select * from SourceTable;select * from TargetTable;----用法MERGE INTO TargetTable AS TUSING SourceTable AS SON T.ID=S.ID --后可加條件WHEN MATCHED --當on后面的T.ID=S.ID,數(shù)據(jù)將被更新THEN UPDATE SET T.[DESC]=S.[DESC]WHEN NOT MATCHED --當目標表中沒有id,原表中有,則被插入THEN INSERT VALUES(S.ID,S.[DESC])WHEN NOT MATCHED BY SOURCE --當目標表中存在,原表中不存在,則刪除THEN DELETE;
新聞熱點
疑難解答