Sql server 2008 获取插入到表中的多条记录

Sql server 2008 获取插入到表中的多条记录,sql-server-2008,Sql Server 2008,大家好,我想得到所有新插入的Id。实际上,我是基于外键id将数据插入到表中 Insert into table() Values(SELECT * FROM table where fId=X) 这里的两个表是相同的,因此在插入数据后,我想返回inserterd的所有标识,您需要在insert中使用OUTPUT()子句。下面是一个工作示例: DECLARE @tmp TABLE (id INT IDENTITY(1,1), txt VARCHAR(100)) INSERT INTO @tmp

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

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

这里的两个表是相同的,因此在插入数据后,我想返回inserterd的所有标识,您需要在insert中使用
OUTPUT
()子句。下面是一个工作示例:

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

INSERT INTO @tmp (txt)
OUTPUT INSERTED.id
VALUES ('a'),('b')
因此,对于不是有效insert语句的查询-,应该是:

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