En su disparador, tiene dos pseudo-tablas disponibles, Inserted
y Deleted
, que contienen esos valores.
En el caso de una ACTUALIZACIÓN, el Deleted
la tabla contendrá los valores antiguos, mientras que Inserted
la tabla contiene los nuevos valores.
Entonces, si desea registrar el ID, OldValue, NewValue
en su disparador, necesitaría escribir algo como:
CREATE TRIGGER trgEmployeeUpdate
ON dbo.Employees AFTER UPDATE
AS
INSERT INTO dbo.LogTable(ID, OldValue, NewValue)
SELECT i.ID, d.Name, i.Name
FROM Inserted i
INNER JOIN Deleted d ON i.ID = d.ID
Básicamente, te unes al Inserted
y Deleted
pseudo-tablas, tome la ID (que es la misma, supongo, en ambos casos), el valor anterior de Deleted
tabla, el nuevo valor de Inserted
y almacena todo en la LogTable