Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

So erstellen Sie einen Trigger, um die zuletzt geänderten Daten zu verfolgen

CREATE TRIGGER TRG_Member_U ON Member FOR UPDATE
AS
SET NOCOUNT ON

INSERT MemberLastChanged (memberID, memberName)
SELECT
   D.memberID, D.memberName
FROM
   DELETED D JOIN INSERTED I ON D.memberID = I.memberID
WHERE
   D.memberName <> I.memberName
GO

Fügen Sie außerdem einen Standard von GETDATE zu dateRegistered hinzu, damit es automatisch aufgezeichnet wird.

Dadurch werden auch Dummy-Updates herausgefiltert, indem neue und alte Werte verglichen werden (INSERTED vs. DELETED).

INSERTED und DELETED sind spezielle Tabellen, die nur in Trigger verfügbar sind.