यदि प्रत्येक उपयोगकर्ता के पास एक खाता है, तो आप SYSTEM_USER
. का उपयोग कर सकते हैं वर्तमान उपयोगकर्ता को निर्धारित करने के लिए कार्य करता है। हालांकि, यदि आपके सभी कनेक्शन प्रॉक्सी खाते के माध्यम से जाते हैं, जैसा कि अधिकांश वेब साइट सेटअप में विशिष्ट है, तो आपको उचित उपयोगकर्ता आईडी पर भरोसा करना होगा जिसे अपडेट स्टेटमेंट में पास किया जा रहा है:
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