tsql – 插入dest和更新源

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

表来源:

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

表目的地

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

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

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

我最好的选择是什么?

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

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

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

转载注明原文:tsql – 插入dest和更新源 - 代码日志