在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表可能不会被更改。
这里有什么最好的选择?
另请注意,“名称”列可能包含重复项,因此我无法真正加入。
(真正的表格要复杂得多,但这应该给出我想要的东西)
答案 0 :(得分:4)
看看这个问题。 Using merge..output to get mapping between source.id and target.id。 您可以使用merge中的输出来获取表变量,其中包含源和目标中的id之间的链接。然后,您可以使用该表更新源表。