zoukankan      html  css  js  c++  java
  • 关于Sql Server 中 Merge需要注意地方

      我们经常使用Merge处理保存一个集合的情况,在更新一些关系表时非常常见:

        1.集合中有并且数据库中也有,更新状态

                  2.集合中有,数据库中没有,插入

                  3.集合中没有,数据库中有的,删除

            具体语法如下:        

    MERGE INTO [dbo].[Relation] AS R
    USING @Table AS T ON R.[GroupId] = @groupId AND R.Id = T.[Id]
    WHEN MATCHED THEN 
           UPDATE SET R.[IsDel] = 0    
    WHEN NOT MATCHED THEN 
           INSERT ..... VALUES.....
    WHEN NOT MATCHED BY SOURCE AND R.[GroupId] = @groupId THEN
           UPDATE SET R.[IsDel] = 1;

            特别需要注意的是第3种,一定要控制好范围,否则会造成全表更新的情况!!!

  • 相关阅读:
    Eclipse中配置约束
    c++ 虚函数
    cocos3 menu
    cocos3 封装一个ball
    cocos3 内存管理机制
    cocos3 多文件拆分cocos
    cocos3 labelttf
    cocos3 messagebox
    cocos3 log
    cocos3 director sprite scene之间的关系
  • 原文地址:https://www.cnblogs.com/qiailu/p/7904247.html
Copyright © 2011-2022 走看看