您的位置:首页 > 数据库 > SQL语言

SQL SERVER中Merge语句的用法

更多 2016/4/14 来源:SQL语句学习浏览量:1220
学习标签: SQL SERVER
本文导读:SQL SERVER中MERGE语句会检查原数据表记录和目标表记录。如果记录在原数据表和目标表中均存在,则目标表中的记录将被原数据表中的记录所更新(执行Update操作);如果目标表中不存在的某(些)记录,在原数据表中存在,则原数据表的这(些)记录将被插入到目标表中(执行Insert操作)。

一、Merge可以完成的功能 


 
1、两个表之间做Insert,Update,Delete操作
 
2、进行表之间数据的复制 、数据同步

3、数据转换
 

 

二、Merge实例

 

1、建立源表和目标表,并插入相关的数据

 

 

2、简单Merge语句

 

3、Merge语句执行过程

 

 

4、最终目标表的结果

 

 

 

三、Merge语句与OUTPUT子句的使用

 

 

操作结果

 

 

 

四、Merge语句中使用 Top 关键字

 

使用TOP关键字限制目标表被操作的行

 

 

 

五、给Merge语句加上AND,附加上额外的限制条件

 

 

 

六、Merge语句使用注意事项

 

1、  在语句结束后一定要用分号,否则会提示错误。 
 
2、  Merge后为目标表,Using后为数据源表 
 
3、  如果有两个When matched,则必须使用and来限定第一个子句,一个子句必须制定一个update,另一个必须制定delete 
 
4、  When not matched by target,这个子句处理存在于数据源之中,但不存在目标之中的数据行。 
 
5、  When not matched等价于When not matched by target 
 
6、  When not mathed by source,这个子句处理,存在于目标中,但是不存在数据表之中的数据行 

 

收藏
432
很赞
241