Ve vašem spouštěči máte k dispozici dvě pseudotabulky, Inserted a Deleted , které tyto hodnoty obsahují.
V případě UPDATE Deleted tabulka bude obsahovat staré hodnoty, zatímco Inserted tabulka obsahuje nové hodnoty.
Pokud tedy chcete zaznamenat ID, OldValue, NewValue ve vašem triggeru byste museli napsat něco jako:
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
V podstatě se připojíte k Inserted a Deleted pseudo-tabulky, vezměte ID (které je, předpokládám, v obou případech stejné), starou hodnotu z Deleted tabulka, nová hodnota z Inserted a vše uložíte do LogTable