Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como criar um gatilho para acompanhar os últimos dados alterados

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

Além disso, adicione um padrão de GETDATE para dateRegistered para que seja registrado automaticamente.

Isso também filtra as atualizações fictícias comparando valores novos e antigos (INSERTED vs DELETED).

INSERTED e DELETED são tabelas especiais disponíveis apenas na trigger.