获取插入表中的多个记录

时间:2015-08-14 13:20:01

标签: sql-server-2008

大家好我想得到所有新插入的ID。实际上我是根据外键id将数据插入到表中。

Insert into table()
Values(SELECT * FROM table where fId=X)

这里两个表是相同的,所以在插入数据后我想返回所有得到插入的标识

1 个答案:

答案 0 :(得分:1)

您需要在插入中使用OUTPUThttp://schema.org/DiscussionForumPosting)子句。这是一个有效的例子:

DECLARE @tmp TABLE (id INT IDENTITY(1,1), txt VARCHAR(100))

INSERT INTO @tmp (txt)
OUTPUT INSERTED.id
VALUES ('a'),('b')

因此,对于您的查询 - 这不是有效的插入语句 - 它将是:

Insert into table()
OUTPUT INSERTED.id_column_you_need_to_be_returned
Values(SELECT * FROM table where fId=X)