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

SQL सर्वर में ट्रिगर ईवेंट की सूची कैसे लौटाएं?

आप SQL सर्वर में डेटाबेस में ट्रिगर ईवेंट की सूची वापस करने के लिए T-SQL का उपयोग कर सकते हैं।

आप sys.trigger_events . का उपयोग करके ऐसा कर सकते हैं . यह सिस्टम कैटलॉग दृश्य प्रत्येक ईवेंट या ईवेंट समूह के लिए एक पंक्ति देता है जिस पर ट्रिगर सक्रिय हो सकता है।

उदाहरण 1 - मूल उपयोग

प्रदर्शित करने के लिए यहां एक उदाहरण दिया गया है।

USE Test;
SELECT 
  object_id,
  OBJECT_NAME(object_id) AS [Trigger Name],
  type_desc
FROM sys.trigger_events;

परिणाम:

+-------------+-------------------+-------------+
| object_id   | Trigger Name      | type_desc   |
|-------------+-------------------+-------------|
| 286624064   | t1_insert_trigger | INSERT      |
| 2034106287  | t6ins             | INSERT      |
+-------------+-------------------+-------------+

इस मामले में मैं OBJECT_NAME() . का उपयोग कर रहा हूं प्रत्येक ट्रिगर का नाम उसके object_id . से प्राप्त करने के लिए कार्य करता है ।

उदाहरण 2 - इसे एक विशिष्ट ट्रिगर तक सीमित करें

आप OBJECT_NAME() का भी उपयोग कर सकते हैं WHERE . का उपयोग करके परिणामों को एक विशिष्ट ट्रिगर नाम पर फ़िल्टर करने के लिए खंड।

SELECT 
  object_id,
  OBJECT_NAME(object_id) AS [Trigger Name],
  type_desc
FROM sys.trigger_events
WHERE OBJECT_NAME(object_id) = 't1_insert_trigger';

परिणाम:

+-------------+-------------------+-------------+
| object_id   | Trigger Name      | type_desc   |
|-------------+-------------------+-------------|
| 286624064   | t1_insert_trigger | INSERT      |
+-------------+-------------------+-------------+

उदाहरण 3 - सभी कॉलम लौटाएं

यह उदाहरण इस दृश्य से सभी कॉलम लौटाता है।

SELECT * 
FROM sys.trigger_events
WHERE OBJECT_NAME(object_id) = 't1_insert_trigger';

परिणाम (ऊर्ध्वाधर आउटपुट का उपयोग करके):

object_id             | 286624064
type                  | 1
type_desc             | INSERT
is_first              | 0
is_last               | 0
event_group_type      | NULL
event_group_type_desc | NULL
is_trigger_event      | 1

इस उदाहरण में मैंने वर्टिकल आउटपुट का उपयोग करके परिणाम प्रस्तुत किए हैं ताकि आपको क्षैतिज रूप से स्क्रॉल करने के लिए बाध्य न किया जाए।

सभी ट्रिगर इवेंट प्रकार प्राप्त करना

सभी ट्रिगर ईवेंट प्रकारों की सूची प्राप्त करने के लिए आप sys.trigger_event_types कैटलॉग दृश्य को क्वेरी कर सकते हैं। ये वे ईवेंट या ईवेंट समूह हैं, जिन पर ट्रिगर सक्रिय हो सकता है.

आप एक क्वेरी भी चला सकते हैं जो उन्हें श्रेणीबद्ध रूप से सूचीबद्ध करती है।


  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 सर्वर में XML डेटा संग्रहीत करना

  2. एसक्यूएल सर्वर में दो तारीख समय का अंतर

  3. SQL सर्वर डेटटाइम डेटाटाइप से केवल दिनांक कैसे वापस करें?

  4. nvarchar(MAX) में अधिकतम कितने वर्ण होंगे?

  5. फोन के लिए एसक्यूएल वर्कर (लंबाई) में मुझे दुनिया भर में सबसे लंबे समय तक संभावित फोन नंबर पर विचार करना चाहिए