Sql server SQL Server插入标识列表

Sql server SQL Server插入标识列表,sql-server,sql-server-2005,insert,Sql Server,Sql Server 2005,Insert,我有一个具有自动增量id的表,我正在执行 INSERT INTO ( ... ) SELECT ... FROM ... 有没有办法让我获得已插入的id列表 我想我可以在插入之前得到max id,然后在插入之后得到max id,并假设中间的所有内容都是新的,但是如果从其他地方插入一行,我可能会遇到问题。有没有合适的方法 我正在使用SQL Server 2005使用该子句 创建一个表变量,然后在表变量中使用输出子句 OUTPUT inserted.NameOfYourColumnId到table

我有一个具有自动增量id的表,我正在执行

INSERT INTO ( ... ) SELECT ... FROM ...
有没有办法让我获得已插入的id列表

我想我可以在插入之前得到max id,然后在插入之后得到max id,并假设中间的所有内容都是新的,但是如果从其他地方插入一行,我可能会遇到问题。有没有合适的方法

我正在使用SQL Server 2005

使用该子句


创建一个
变量,然后在
变量中使用
输出
子句

OUTPUT inserted.NameOfYourColumnId到tableVariable中


然后您可以从
变量中选择

太棒了!想知道是否有办法将这个@InsertedIDs返回到C#?
DECLARE @InsertedIDs table(ID int);

INSERT INTO YourTable
    OUTPUT INSERTED.ID
        INTO @InsertedIDs 
    SELECT ...