在输出中使用 SCOPE_IDENTITY() 时的一致性

Consistency when using SCOPE_IDENTITY() in output

我想执行一个 SQL 查询,该查询将 return 添加到 table:

的行的当前标识 ID
DECLARE @id int
DECLARE @tblOutput table (id int)

INSERT INTO tblStudent(Name, Family, age, test)
OUTPUT inserted.id into @tblOutput
VALUES('ashghar', 'farhadi', 321, 135)

SELECT @id = id from @tblOutput

现在我的问题是 return我当前插入行的 ID 还是最后插入行的 ID?

我的意思是我可以信任它用作外键吗?

output insertedSCOPE_IDENTITY 都会为您提供您上一条语句刚刚插入的行中的 ID。所以是的,您可以将它用作外键。