我希望将信息复制到另一个表中但是在创建每个记录时,我将使用唯一标识来生成新的PK。我也想用那个PK插入另一个表,例如。
插入表1(a,b) 选择a,b FROM TempTable
INSERT INTO Table2(id,description) VALUES([表1中创建的新记录中的PK],'测试')
这可能吗?
答案 0 :(得分:3)
您应该意识到您的代码可以创建多条新记录。
以下内容将所有新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;