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

时间:2018-05-15 15:52:41

标签: sql sql-server

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

插入表1(a,b) 选择a,b FROM TempTable

INSERT INTO Table2(id,description) VALUES([表1中创建的新记录中的PK],'测试')

这可能吗?

1 个答案:

答案 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;