Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

SQL सर्वर ट्रिगर लूप

मैं प्रसंस्करण के दौरान ट्रिगर को स्पष्ट रूप से अक्षम करने की अनुशंसा नहीं करता - इससे अजीब दुष्प्रभाव हो सकते हैं।

किसी ट्रिगर में चक्रों का पता लगाने (और रोकने) का सबसे विश्वसनीय तरीका 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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर (T-SQL) से ईमेल कैसे भेजें

  2. एएसपीनेट में एक एसक्यूएल सर्वर डेटाबेस से एक छवि प्रदर्शित करने का सबसे अच्छा तरीका क्या है?

  3. कैसे निर्धारित करें कि संख्या फ्लोट या पूर्णांक है

  4. SQL सर्वर में क्रिप्टोग्राफ़िक, रैंडम नंबर बनाने के लिए CRYPT_GEN_RANDOM() का उपयोग करें

  5. SQL सर्वर त्रुटि 213:स्तंभ नाम या आपूर्ति किए गए मानों की संख्या तालिका परिभाषा से मेल नहीं खाती।