I din trigger har du to pseudo-tabeller tilgængelige, Indsat
og Slettet
, som indeholder disse værdier.
I tilfælde af en OPDATERING er Inserted
tabel indeholder de nye værdier.
Så hvis du vil logge ID, OldValue, NewValue
i din trigger, skal du skrive noget som:
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
Grundlæggende tilslutter du dig Inserted
og Slettet
pseudo-tabeller, tag ID'et (som er det samme, formoder jeg i begge tilfælde), den gamle værdi fra Slettet
tabel, den nye værdi fra Inserted
tabel, og du gemmer alt i LogTable