Di pemicu Anda, Anda memiliki dua tabel semu yang tersedia, Inserted
dan Deleted
, yang berisi nilai-nilai tersebut.
Dalam kasus UPDATE, Deleted
tabel akan berisi nilai-nilai lama, sedangkan Inserted
tabel berisi nilai baru.
Jadi jika Anda ingin mencatat ID, OldValue, NewValue
di pemicu Anda, Anda harus menulis sesuatu seperti:
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
Pada dasarnya, Anda bergabung dengan Inserted
dan Deleted
pseudo-tabel, ambil ID (yang sama, saya kira, dalam kedua kasus), nilai lama dari Deleted
tabel, nilai baru dari Inserted
tabel, dan Anda menyimpan semuanya di LogTable