簡體   English   中英

如何獲取SQL Server 2008中最后更新的行的ID

[英]How to get the ID of last updated Row in SQL Server 2008

我有一個要求,我想獲取表中最后更新的行的ID,並且我想將此ID用於其他操作。

我沒有如UpdatedOn那樣的列,因此我可以引用該列。

因此,還有像Update_一樣的任何功能,例如scope_identity和@@ identity(為我提供最后插入的行ID)。

請同樣幫我。

你可以做這樣的事情

declare @mytable as TABLE
    (
      Id int
    )

Update Table Set Name='Nitin'
OUTPUT INSERTED.Id into @mytable
 where LastName='Varpe'

 Select Id from @mytable

由於您只對最后更新的ID感興趣,因此可以將其簡單地分配給SET子句中的變量:

DECLARE @LastID INT = NULL

UPDATE 
    SomeTable
SET
    SomeColumn = 'SomeValue',
    @LastID = ID
WHERE
    SomeOtherColumn = 'SomeOtherValue'

我認為您應該尋找觸發器。 選擇“插入/更新后”觸發器。 它將始終為您提供動態表中稱為Inserted ...的最后插入/更新的記錄。

查詢:

Select * from Inserted. 並獲得您需要的任何領域。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM