आपके ट्रिगर में, आपके पास दो छद्म-सारणी उपलब्ध हैं, Inserted
और Deleted
, जिसमें वे मान होते हैं।
अद्यतन के मामले में, Deleted
तालिका में पुराने मान होंगे, जबकि Inserted
तालिका में नए मान हैं।
तो अगर आप ID, OldValue, NewValue
. को लॉग करना चाहते हैं अपने ट्रिगर में, आपको कुछ इस तरह लिखना होगा:
CREATE TRIGGER trgEmployeeUpdate
ON dbo.Employees AFTER UPDATE
AS
INSERT INTO dbo.LogTable(ID, OldValue, NewValue)
SELECT i.ID, d.Name, i.Name
FROM Inserted i
INNER JOIN Deleted d ON i.ID = d.ID
मूल रूप से, आप Inserted
. में शामिल होते हैं और Deleted
छद्म-तालिकाओं, आईडी को पकड़ो (जो समान है, मुझे लगता है, दोनों मामलों में), Deleted
से पुराना मान तालिका, Inserted
. से नया मान तालिका, और आप सब कुछ LogTable
. में संग्रहीत करते हैं