1. 程式人生 > >使用MERGE語句完成單向表同步

使用MERGE語句完成單向表同步

在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);