参见英文答案 >
How to insert multiple records and get the identity value?7个
@H_301_2@你好
@H_301_2@我将使用sql Server 2008中提供的一个Tsql一次插入10行.
@H_301_2@我想要插入行的IDENTITY.我认为下面的解决方案可以工作,但我不确定是否发生了其他插入,而我运行上一次插入会影响结果
INSERT INTO tableA VALUES(1,2),(3,4),(4,5),….@H_301_2@DECLARE @LastID INT = @@ IDENTITY@H_301_2@SELECT TOP(10)ID FROM tableA WHERE ID< = @ LastID ORDER BY ID DESC
解决方法
只需使用
OUTPUT clause – 它可以将输出返回到应用程序,也可以返回表变量以进行进一步的工作.
例如.你的查询将是:
INSERT INTO tableA OUTPUT inserted.ID VALUES (1,...