多个插入标识获取

时间:2010-11-23 11:55:25

标签: sql-server-2005

我在存储过程中的查询看起来像这样。

insert into a(name) select name from b.

我想从a获取所有新的身份值。 我怎么能这样做?

提前致谢。

2 个答案:

答案 0 :(得分:1)

insert into a(name)
OUTPUT INSERTED.IDColumn  --this line for >1 row
select name from b.

OUTPUT Clause

答案 1 :(得分:0)

查看OUTPUT Clause (Transact-SQL)

这样的东西
DECLARE @a TABLE(
        ID INT IDENTITY (1,1),
        Name VARCHAR(250)
)

DECLARE @b TABLE(
        Name VARCHAR(250)
)
INSERT INTO @b SELECT 'a'
INSERT INTO @b SELECT 'b'
INSERT INTO @b SELECT 'c'
INSERT INTO @b SELECT 'd'

INSERT INTO @a(name) 
OUTPUT INSERTED.ID
SELECT name FROM @b