Jika setiap pengguna memiliki akun, Anda dapat menggunakan SYSTEM_USER
berfungsi untuk menentukan pengguna saat ini. Namun, jika semua koneksi Anda melalui akun proxy, seperti yang biasa dilakukan di sebagian besar penyiapan situs web, maka Anda harus mengandalkan ID pengguna yang tepat yang diteruskan ke pernyataan Pembaruan:
CREATE TRIGGER [update_history] ON MyTable
FOR UPDATE
AS
INSERT MyTable_History (id, BudgetNumber, PositionNumber, ModifiedDate, action, userId)
SELECT id, BudgetNumber, PositionNumber, GETDATE(), 'BEFORE UPDATE', inserted.userId
FROM MyTable
Join inserted
On inserted.id = MyTable.id
INSERT MyTable_History (id, BudgetNumber, PositionNumber, ModifiedDate, action, userId)
SELECT id, BudgetNumber, PositionNumber, GETDATE(), 'AFTER UPDATE', userId
FROM inserted