Si chaque utilisateur a un compte, vous pouvez utiliser le SYSTEM_USER
fonction pour déterminer l'utilisateur actuel. Cependant, si toutes vos connexions passent par un compte proxy, comme c'est généralement le cas dans la plupart des configurations de sites Web, vous devez vous fier au bon ID utilisateur transmis à l'instruction 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