zoukankan      html  css  js  c++  java
  • Merge Into

    Merge Into [dbo].[Student] S
    using [10.58.8.224TEST].[TestDb].[dbo].[Student] T
    on S.ID=T.ID
    WHEN MATCHED AND (S.[UpdateTime]<>T.[UpdateTime])--匹配上 时间不一致时 更新数据
    THEN UPDATE SET S.[Name]=T.[Name],S.[Age]=T.[Age],S.[Sex]=T.[Sex],S.[UpdateTime]=T.[UpdateTime]
    WHEN NOT MATCHED  --匹配不上 添加数据
    THEN INSERT VALUES(T.[Name],T.[Age],T.[Sex],T.[UpdateTime])
    WHEN NOT MATCHED BY SOURCE --和元数据匹配不上的删除
    THEN DELETE;
    

    参考: http://www.cnblogs.com/CareySon/archive/2012/03/07/2383690.html

        Merge关键字是一个神奇的DML关键字。它在SQL Server 2008被引入,它能将Insert,Update,Delete简单的并为一句。MSDN对于Merge的解释非常的短小精悍:”根据与源表联接的结果,对目标表执行插入、更新或删除操作。例如,根据在另一个表中找到的差异在一个表中插入、更新或删除行,可以对两个表进行同步。”,通过这个描述,我们可以看出Merge是关于对于两个表之间的数据进行操作的。

        可以想象出,需要使用Merge的场景比如:

    •     数据同步
    •     数据转换
    •     基于源表对目标表做Insert,Update,Delete操作
  • 相关阅读:
    HDU4529 郑厂长系列故事——N骑士问题 —— 状压DP
    POJ1185 炮兵阵地 —— 状压DP
    BZOJ1415 聪聪和可可 —— 期望 记忆化搜索
    TopCoder SRM420 Div1 RedIsGood —— 期望
    LightOJ
    LightOJ
    后缀数组小结
    URAL
    POJ3581 Sequence —— 后缀数组
    hdu 5269 ZYB loves Xor I
  • 原文地址:https://www.cnblogs.com/woxpp/p/4287525.html
Copyright © 2011-2022 走看看