如何从另一个表插入并使用PK插入到SQL Server中的多个表中?



我希望将信息复制到另一个表中,但是随着每条记录的创建,我将使用唯一的标识来生成新的PK。我还想使用该PK插入到另一个表中,例如

插入表1(a,b( 从"临时表"中选择 a、b

插入到表2(id,描述( 值([PK 来自表 1 中创建的新记录],"测试"(

这可能吗?

您应该意识到您的代码可以创建多个新记录。

下面将所有新 ID 捕获到@ids中,然后将所有这些 ID 插入到新表中:

declare @ids table (int id);
insert into table1(a, b) 
output inserted.id into @ids
select a, b 
from TempTable;
insert into Table2(id, description) 
select id, 'Test'
from @ids;

最新更新