SQL Server确定插入了哪一行?

时间:2012-04-24 13:49:30

标签: sql sql-server sql-server-2005

我有一个SQL查询,它在表中插入了很多新行并更新了很多旧行 有没有办法确定插入的所有行?

3 个答案:

答案 0 :(得分:2)

在之前的Stackoverflow文章中找到了这个: How to insert multiple records and get the identity value?

以下是安迪·欧文:

使用2005年的ouput条款:

DECLARE @output TABLE (id int)

Insert into A (fname, lname)
OUTPUT inserted.ID INTO @output
SELECT fname, lname FROM B

select * from @output

现在你的表变量具有你插入的所有行的标识值。

答案 1 :(得分:0)

你好,你试过像执行

这样的东西
SELECT @@IDENTITY

执行INSERT语句后?

查看this

答案 2 :(得分:0)

@@ IDENTITY已弃用,建议您使用SCOPE_IDENTITY()

您还可以通过插入的表格确定插入的项目