Om varje användare har ett konto kan du använda SYSTEM_USER
funktion för att fastställa den aktuella användaren. Men om alla dina anslutningar går via ett proxykonto, vilket är typiskt i de flesta webbplatsinställningar, måste du lita på att rätt användar-ID skickas till Update-satsen:
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