各ユーザーがアカウントを持っている場合は、SYSTEM_USER
を使用できます 現在のユーザーを判別する関数。ただし、ほとんどのWebサイトの設定で一般的であるように、すべての接続がプロキシアカウントを経由する場合は、Updateステートメントに渡される適切なuserIdに依存する必要があります。
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