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

निष्पादन के किसी विशेष दायरे के लिए SQL सर्वर ट्रिगर को अक्षम करने का कोई तरीका है?

मैंने अभी हाल ही में SQL सर्वर सेंट्रल न्यूज़लेटर पर हाइलाइट किया गया यह आलेख देखा है और ऐसा लगता है कि आप कनेक्शन पर Context_Info का उपयोग करके उपयोगी पा सकते हैं:

http://www.mssqltips.com/tip.asp?tip=1591

टेरापिन द्वारा संपादित करें:

उपरोक्त लिंक में निम्नलिखित कोड शामिल हैं:

USE AdventureWorks;  
GO  
-- creating the table in AdventureWorks database  
IF OBJECT_ID('dbo.Table1') IS NOT NULL  
DROP TABLE dbo.Table1  
GO  
CREATE TABLE dbo.Table1(ID INT)  
GO   
-- Creating a trigger  
CREATE TRIGGER TR_Test ON dbo.Table1 FOR INSERT,UPDATE,DELETE  
AS  
DECLARE @Cinfo VARBINARY(128)  
SELECT @Cinfo = Context_Info()  
IF @Cinfo = 0x55555  
RETURN  
PRINT 'Trigger Executed'  
-- Actual code goes here  
-- For simplicity, I did not include any code  
GO  

यदि आप ट्रिगर को निष्पादित होने से रोकना चाहते हैं तो आप निम्न कार्य कर सकते हैं:

SET Context_Info 0x55555 
INSERT dbo.Table1 VALUES(100)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Azure डेटा स्टूडियो में SQL सर्वर एजेंट जॉब को कैसे हटाएं

  2. SQL सर्वर में एक दृश्य कैसे बनाएं

  3. SQL सर्वर प्रबंधन स्टूडियो में क्वेरी इतिहास कैसे देखें

  4. SQL सर्वर तालिका में मौजूदा कॉलम में डिफ़ॉल्ट बाधा कैसे जोड़ें - SQL सर्वर / TSQL ट्यूटोरियल भाग 91

  5. पैरामीटर के रूप में तालिका नाम के साथ संग्रहीत प्रक्रिया