ऐसा कुछ करना चाहिए जो आपको चाहिए। आपके पास INSERT
होगा नीचे दिए गए कथन MyLogTable
. में किए गए ऑपरेशन को इंगित करने वाले मानों को सम्मिलित करते हैं .
CREATE TRIGGER [dbo].[TRIG_MyTable]
ON [dbo].[MyTable]
AFTER INSERT, UPDATE
AS
DECLARE @INS int, @DEL int
SELECT @INS = COUNT(*) FROM INSERTED
SELECT @DEL = COUNT(*) FROM DELETED
IF @INS > 0 AND @DEL > 0
BEGIN
-- a record got updated, so log accordingly.
INSERT INTO MyLogTable
SELECT 'New Values', getdate() FROM INSERTED
INSERT INTO MyLogTable
SELECT 'Old Values', getdate() FROM DELETED
END
ELSE
BEGIN
-- a new record was inserted.
INSERT INTO MyLogTable
SELECT 'Insert', getdate() FROM INSERTED
END
आप चाहें तो INSERTED
. से कॉलम भी जोड़ सकते हैं और DELETED
अपनी लॉग तालिका में भी यदि आप सम्मिलित या अद्यतन किए गए वास्तविक स्तंभ मानों को कैप्चर करना चाहते हैं।