在sql server 2008中获取多个插入的标识

参见英文答案 > How to insert multiple records and get the identity value?7个
你好
我将使用sql Server 2008中提供的一个Tsql一次插入10行.
我想要插入行的IDENTITY.我认为下面的解决方案可以工作,但我不确定是否发生了其他插入,而我运行上一次插入会影响结果

INSERT INTO tableA VALUES(1,2),(3,4),(4,5),….
DECLARE @LastID INT = @@ IDENTITY
SELECT TOP(10)ID FROM tableA WHERE ID< = @ LastID ORDER BY ID DESC

解决方法

只需使用 OUTPUT clause – 它可以将输出返回到应用程序,也可以返回表变量以进行进一步的工作.

例如.你的查询将是:

INSERT INTO tableA
OUTPUT inserted.ID
VALUES (1,...

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 &#39;EastRiver&#39; 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...