IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    [原]SQL SERVER - 使用MERGE语句完成单向表同步

    csharp25发表于 2017-04-16 20:42:02
    love 0
    在SQL server (2008以上版本)中当需要将一个表(可能另一个库)中数据同步到另一个表中时,可以考虑使用merge语句。
    只需要提供:
    1.目标表 (target table)
    2.数据源表 (source table)
    3.连接条件
    4.当行匹配时执行的更新语句
    5.不匹配时更新语句

    MERGE dbo.SomeTable AS target       
    
    
    USING dbo.AnotherTable AS source    
    
    
    ON (target.[UserName] = source.[UserName])
    
    
    WHEN MATCHED THEN                           
        UPDATE SET Name = source.Name,
                   Col = source.Col
    
    
    WHEN NOT MATCHED THEN  
        INSERT (Col1, Col2, ...., ColN)  
        VALUES (source.Val1, source.Val2, ...., source.ValN);




沪ICP备19023445号-2号
友情链接