Ehs*_*san 6 sql insert sql-server-2008
您好
我将使用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
Mit*_*eat 17
您可以使用OUTPUT子句:
DECLARE @tablevar table (ID int);
INSERT INTO tableA
OUTPUT INSERTED.ID INTO @tablevar
VALUES (1,2), (3,4), (4,5), ....
Run Code Online (Sandbox Code Playgroud)
Dam*_*ver 15
只需使用OUTPUT子句 - 它可以将输出返回给应用程序,也可以返回表变量以进行进一步的工作.
例如,您的查询将是:
INSERT INTO tableA
OUTPUT inserted.ID
VALUES (1,2), (3,4), (4,5), ...
Run Code Online (Sandbox Code Playgroud)