मैं उपयोगकर्ता मेज पर नीचे की तरह एक ट्रिगर है लूप करने के लिए एक ट्रिगर के अंदर पाश लेखा परीक्षा तालिका में डालने के लिए जो के साथ स्तंभ अद्यतन किया गया था और पिछले मूल्य:जबकि एसक्यूएल में तालिका के सभी स्तंभों
ALTER TRIGGER [dbo].[trgAfterUpdate] ON [dbo].[tbl_User]
AFTER UPDATE
AS
declare @fieldname varchar(128) ;
declare @OldValue varchar(255);
declare @CreateUser varchar(100) ;
declare @User_Key int;
select @CreateUser =i.user_name from deleted i;
SELECT @User_Key = i.user_key from inserted i;
if update(user_name)
begin
select @OldValue=j.user_name from deleted j;
set @fieldname = 'user_name';
insert into tbl_Audit(user_key, field_name, previuos_Value, user_name)
values(@User_Key ,@fieldname,@OldValue, @CreateUser);
end
लेकिन मेरे प्रश्न हैं कि मेरी टेबल पर 100 फ़ील्ड हैं। यदि शर्तें हैं तो मैं 100 नहीं लिख सकता। और मुझे एक सुझाव की आवश्यकता है कि इसमें लूप के दौरान उपयोग कैसे करें, और यह प्रदर्शन को कैसे प्रभावित करेगा।
धन्यवाद
क्यों न सिर्फ इस बात के लिए एक्सएमएल का उपयोग करें? – JNK
क्या आप कृपया विस्तृत कर सकते हैं? मुझे यकीन नहीं है कि एक्सएमएल – user1882705
का उपयोग करके AUDIT तालिका में डालने के लिए कैसे पूरी पंक्ति को 'एक्सएमएल' के जरिये एक्सएमएल में कनवर्ट करें और अपनी ऑडिट तालिका में बस स्टोर और एक्सएमएल कॉलम को कनवर्ट करें। – JNK