SQLServer2008TSQL之Merge语法计算机等级考试

文章作者 100test 发表时间 2010:01:01 08:38:14
来源 100Test.Com百考试题网


  Merge语法是对插入,更新,删除这三个操作的合并。根据与源表联接的结果,对目标表执行插入、更新或删除操作。例如,根据在另一个表中找到的差异在一个表中插入、更新或删除行,可以对两个表进行同步。
  我这里用一个简单的例子来解释一下
  USE tempdb
  GO
  --创建一个临时的订单表源:www.examda.com
  CREATE TABLE Orders(OrderID INT,CustomerID NCHAR(5))
  GO
  --往这个表中添加两行记录本文来源:百考试题网
  INSERT INTO Orders VALUES(1,NAAAAA)
  INSERT INTO Orders VALUES(2,NBBBBB)
  GO
  --通过生成表查询,产生另外一个架构一模一样的表,但只是复制了第一行数据过去
  SELECT * INTO Orders2 FROM Orders WHERE OrderID=1
  GO
  --将第二个表的数据进行更新来源:考
  UPDATE orders2 SET CustomerID=NDDDDD
  --合并两个表
  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.--如果来源表无法匹配到,就删除

  编辑特别推荐:

  2009年9月全国计算机等级考试真题及答案

  2009年9月全国计算机等级考试成绩查询



相关文章


广东2009年下半年全国计算机等级考试成绩查询计算机等级考试
2009年下半年全国计算机三级信息管理上机答案计算机等级考试
2009年9月全国计算机三级数据库技术上机试题计算机等级考试
2009年9月全国计算机三级网络技术上机试题计算机等级考试
SQLServer2008TSQL之Merge语法计算机等级考试
TSQL查询语句的执行步骤计算机等级考试
在IE7下生成高质量CSS缩略图计算机等级考试
检修显示器花屏故障计算机等级考试
走近LCD常见问题篇计算机等级考试
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛