我有一个要求,我想获取表中最后更新行的id,我想将此id用于其他一些操作。
我没有像UpdatedOn这样的列,所以我可以引用该列。
还有任何函数,比如scope_identity和@@ identity(它给出了我最后插入的行id的id)也用于更新。
请帮帮我。
答案 0 :(得分:8)
你可以做这样的事情
declare @mytable as TABLE
(
Id int
)
Update Table Set Name='Nitin'
OUTPUT INSERTED.Id into @mytable
where LastName='Varpe'
Select Id from @mytable
答案 1 :(得分:6)
由于您只对最新更新的ID感兴趣,因此您只需将其分配给SET
子句中的变量:
DECLARE @LastID INT = NULL
UPDATE
SomeTable
SET
SomeColumn = 'SomeValue',
@LastID = ID
WHERE
SomeOtherColumn = 'SomeOtherValue'
答案 2 :(得分:0)
我认为你应该寻找触发器。转到插入/更新触发器后。它总是从名为Inserted ...
的动态表中为您提供最后插入/更新的记录查询:
Select * from Inserted.
并获得您需要的任何字段。