考试辅导

名师推荐

试听名师的课 查看所有名师

数据库:SQLServer2008T-SQL之Merge语法 发布时间:2010-06-25 17:32 来源:互联网

  Merge语法是对插入,更新,删除这三个操作的合并。根据与源表联接的结果,对目标表执行插入、更新或删除操作。例如,根据在另一个表中找到的差异在一个表中插入、更新或删除行,可以对两个表进行同步。
  我这里用一个简单的例子来解释一下
  USE tempdb
  GO
  --创建一个临时的订单表
  CREATE TABLE Orders(OrderID INT,CustomerID NCHAR(5))
  GO
  --往这个表中添加两行记录
  INSERT INTO Orders VALUES(1,N'AAAAA')
  INSERT INTO Orders VALUES(2,N'BBBBB')
  GO
  --通过生成表查询,产生另外一个架构一模一样的表,但只是复制了第一行数据过去
  SELECT * INTO Orders2 FROM Orders WHERE OrderID=1
  GO
  --将第二个表的数据进行更新
  UPDATE orders2 SET CustomerID=N'DDDDD'
  --合并两个表
  MERGE Orders o
  USING Orders2 o2 ON o2.OrderID=o.OrderID
  WHEN MATCHED THEN UPDATE SET O.CustomerID=o2.CustomerID--如果匹配到了,就更新掉目标表
  WHEN NOT MATCHED THEN INSERT VALUES(o2.OrderID,o2.CustomerID)--如果匹配不到,就插入
  WHEN NOT MATCHED BY SOURCE THEN DELETE;--如果来源表无法匹配到,就删除

第一考试网友情提示:如果您遇到任何疑问,请登录第一考试网考试辅导频道或添加qq:,第一考试网以“为考友服务”为宗旨,秉承“快乐学习,轻松考试!”的理念,旨在为广大考友打造一个良好、温馨的学习与交流平台,欢迎持续关注。以上是小编为大家推荐的《数据库:SQLServer2008T-SQL之Merge语法》相关信息。

编辑推荐

计算机等级考试辅导:SQL中JOB的运行状态

计算机等级考试辅导:SQLSERVER2005的引用

三级:把数据导入不同的表空间

2009年三级信息管理技术辅导:战略数据规划

教你三种方法卸载Windows7SP1Beta