मैं प्रसंस्करण के दौरान ट्रिगर को स्पष्ट रूप से अक्षम करने की अनुशंसा नहीं करता - इससे अजीब दुष्प्रभाव हो सकते हैं।
किसी ट्रिगर में चक्रों का पता लगाने (और रोकने) का सबसे विश्वसनीय तरीका CONTEXT_INFO()
का उपयोग करना है ।
उदाहरण:
CREATE TRIGGER tr_Table1_Update
ON Table1
FOR UPDATE AS
DECLARE @ctx VARBINARY(128)
SELECT @ctx = CONTEXT_INFO()
IF @ctx = 0xFF
RETURN
SET @ctx = 0xFF
-- Trigger logic goes here
देखें यह लिंक अधिक विस्तृत उदाहरण के लिए।
CONTEXT_INFO()
पर ध्यान दें SQL सर्वर 2000 में:
संदर्भ जानकारी समर्थित है लेकिन स्पष्ट रूप से CONTEXT_INFO
समारोह नहीं है। आपको इसके बजाय इसका उपयोग करना होगा:
SELECT @ctx = context_info
FROM master.dbo.sysprocesses
WHERE spid = @@SPID