使用MERGE同步2个表

时间:2013-02-13 17:43:44

标签: sql sql-server merge

我的任务是同步2个表(两者都相同)。它们各有60列。表A是最初填充的主表。我需要创建一个存储过程(完成),它将合并这两个表,并在调用时用相同的确切数据(更新,插入,删除)填充它们。我如何在SQL中使用MERGE函数来实现这一目标?我已经查看了MSDN文档和类似于technet的文档,但我对入门感到困惑。我是否需要指定需要合并的每个字段?或者这是一个我错过的简单电话会执行此操作吗?

2 个答案:

答案 0 :(得分:6)

以下是MERGE语句的简单示例的链接:

http://www.simple-talk.com/sql/learn-sql-server/the-merge-statement-in-sql-server-2008/

基本语法如下:

MERGE table1
USING table2
ON table1.id = table2.id
WHEN MATCHED THEN
--Do an update here
WHEN NOT MATCHED BY TARGET THEN
--Do an insert here (or a delete)
;

您也可以使用WHEN NOT MATCHED BY SOURCE

答案 1 :(得分:5)

超过60列是一个很棒的数字!当我需要同步2个相同的表时,我会这样做:

<script type="text/javascript" src="main.js"></script>