SQL2008中的MERGE使用心得
来源:互联网 发布:织梦视频网站源码 编辑:程序博客网 时间:2024/05/21 09:43
MSDN:
一、MERGE 语句最多可以有两个 WHEN MATCHED 子句。如果指定了两个子句,则第一个子句必须同时带有一个 AND <search_condition> 子句。对于任何给定的行,只有在未应用第一个 WHEN MATCHED 子句的情况下,才会应用第二个 WHEN MATCHED 子句。如果有两个 WHEN MATCHED 子句,那么其中的一个必须指定 UPDATE 操作,而另一个必须指定 DELETE 操作。如果在 <merge_matched> 子句中指定了 UPDATE,并且根据 <merge_search_condition>,<table_source> 中的多个行与 target_table 中的某一行匹配,则 SQL Server 将返回错误。MERGE 语句无法多次更新同一行,也无法更新和删除同一行。
二、自己的理解:根据<merge_search_condition>,在<source_table>中对应有多条的记录,而在<target_table>中只有一条,那么将会报错:
MERGE 语句试图多次更新或删除同一行。目标行与多个源行匹配时会出现这种情况。MERGE 语句无法多次更新/删除目标表的同一行。请简化 ON 子句,以确保目标行最多与一个源行匹配,也可以使用 GROUP BY 子句对源行分组。
所以除了上面的那种情况下,其他情况都是正确的。
下面是SQL语句:
- SQL2008中的MERGE使用心得
- sql2008使用merge语句实现数据差异传输
- sql2008使用merge语句实现数据差异传输
- SQL2008中merge用法
- oracle中的merge使用
- SQL2008中Merge的用法
- SQL2008中Merge的用法
- 使用resin中的心得
- oracle中的MERGE的使用
- 使用Hibernate 中的merge()方法
- Hibernate中的session.merge()使用
- MS SQL2008下的Merge新语法
- SQL2008 Merge关键字用法与简例
- SQL2008 Merge关键字用法与简例
- MS SQL2008下的Merge新语法
- SQL2008 Merge关键字用法与简例
- SQL2008 Merge关键字用法与简例
- 用SQL2008的MERGE语句同步表
- 误用Connection.setAutoCommit导致的数据库死锁问题
- 大洋蛋...补偿第四天...倒数325
- 不是所有的梦都来得及实现
- 大洋蛋...补偿第五天...倒数324
- 左式堆(不完全操作)头文件C语言
- SQL2008中的MERGE使用心得
- 大洋蛋...补偿第六天...倒数323
- BW:Authorization:再说权限,如何分配,如何运维
- 用HttpClient来模拟浏览器GET POST
- Myeclipse+tomcat+oracle10g环境搭建
- 大洋蛋...补偿第七天...倒数322
- mysql笔记2(基准测试及性能分析)
- C#中dataGridView1控件数值显示效果
- asp.net学习之SqlDataSource 1 select的四种参数赋予形式的解释