Wie bekommt man die ID des letzten aktualisierten Zeile in SQL Server 2008
Habe ich eine Anforderung, so dass ich möchte, um die id des zuletzt aktualisiert eine Zeile in einer Tabelle und ich will diese id für einen anderen Vorgang.
Habe ich nicht die Spalte, wie UpdatedOn , so dass ich beziehen kann, die Spalte.
So gibt es eine Funktion wie scope_identity und @@identity(das gibt mir die id der zuletzt eingefügten Zeile id) für das Update auch.
Bitte helfen Sie mir für die gleiche.
- Zeit zum erstellen einer solchen Spalte. Btw,
scope_identity
funktioniert auch nur in diesem Umfang und nicht zwei Tage später, also ersetzt es nicht eineCreatedAt
Spalte entweder. - Kann man nicht abrufen, die letzten update-Informationen auf Zeile/Spalte basis, jedoch kann man diese info auf Tabellenebene Folgen Sie diesem [link][1]jedoch denke ich es ist nutzlos für Sie , Beste Lösung sein wird, zu erstellen, die Tabelle, die speichert Ihre update-details wie Benutzer-id , datetime , etc. [1]: blog.sqlauthority.com/2009/05/09/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie so etwas tun
Da Sie nur daran interessiert sind, in der letzten ID aktualisiert werden, dann könnten Sie einfach es einer Variablen zuweisen, die in der
SET
Klausel:Ich denke, Sie sollten sich für trigger. Gehen Sie für After Insert/update-trigger. Es wird Ihnen immer die zuletzt eingefügten/aktualisierten Datensatz ,aus der dynamischen Tabelle namens Eingefügt...
Abfrage:
Select * from Inserted.
und bekommen Sie, was Feld, das Sie brauchen.