在SQL Server 2008中合并两个表

5

我有两个表,一个是阶段表,其架构与主表完全相同,我想通过ID列作为参考键,从阶段表更新数据到主表。 我尝试使用SQL中的Merge,但遇到问题,因为只有很少的值需要更新,而成千上万的新值需要插入到主表中。 例如:

MERGE TABLE tblMain AS main
USING (SELECT ID,NAME,EMAIL_ID FROM tblStage) as stage
ON main.ID=stage.ID
WHEN MATCHED THEN UPDATE SET
main.ID=stage.ID,
main.NAME=stage.NAME,
main.EMAIL_ID=stage.EMAIL_ID
WHEN NOT MATCHED THEN INSERT VALUES 
(
----I am stucked here what to write as there are thousands of values:(
)
1个回答

2

您可以在插入部分中参考合并源代码,例如:

when not matched then insert
  (id, name, email_id) 
  values (stage.id, stage.name, stage.email_id)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接