插入dest并更新源代码

时间:2011-04-01 15:13:49

标签: tsql sql-server-2008

在SQL Server 2008中,是否可以将源表中的数据插入到dest表中,并同时使用dest表中的@@ identity更新源表?

实施例

表来源:

Id - UniqueId
Name - varchar(10) 
RealId [null] - int 

表格目的地

Id - [id] INT identity
Name - varchar(10)  

我想将行从Source传输到Dest,并将RealId更新为Dest表中的@@ identity值

我可以以任何我喜欢的方式修改Source,Dest表可能不会被更改。

这里有什么最好的选择?

另请注意,“名称”列可能包含重复项,因此我无法真正加入。

(真正的表格要复杂得多,但这应该给出我想要的东西)

1 个答案:

答案 0 :(得分:4)

看看这个问题。 Using merge..output to get mapping between source.id and target.id。 您可以使用merge中的输出来获取表变量,其中包含源和目标中的id之间的链接。然后,您可以使用该表更新源表。