Jeśli każdy użytkownik ma konto, możesz użyć SYSTEM_USER
funkcja do określenia aktualnego użytkownika. Jeśli jednak wszystkie twoje połączenia przechodzą przez konto proxy, co jest typowe w większości konfiguracji witryn internetowych, musisz polegać na prawidłowym identyfikatorze użytkownika przekazywanym do instrukcji Update:
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