SQL सर्वर में, आप ट्रिगर इवेंट प्रकारों की एक श्रेणीबद्ध सूची वापस करने के लिए निम्न T-SQL क्वेरी का उपयोग कर सकते हैं।
ये उदाहरण sys.trigger_event_types . को क्वेरी करते हैं दृश्य, जो प्रत्येक ईवेंट या ईवेंट समूह के लिए एक पंक्ति देता है जिस पर ट्रिगर सक्रिय हो सकता है।
उदाहरण 1 - सभी पंक्तियां लौटाएं
यह क्वेरी sys.trigger_event_types . में सभी पंक्तियां लौटाती है देखें।
WITH event_types(Type, Type_Name, Parent_Type, Level, Sort) AS
(
SELECT
tet.type,
tet.type_name,
tet.parent_type,
1 AS Level,
CONVERT(nvarchar(255), tet.type_name)
FROM sys.trigger_event_types tet
WHERE parent_type IS NULL
UNION ALL
SELECT tet.type,
CONVERT(nvarchar(64), REPLICATE('| ' , Level) + tet.type_name),
tet.parent_type,
Level + 1,
CONVERT(nvarchar(255), RTRIM(Sort) + ' > ' + tet.type_name)
FROM sys.trigger_event_types AS tet
INNER JOIN event_types AS et
ON et.type = tet.parent_type
)
SELECT Type_Name
FROM event_types
ORDER BY Sort;
वह क्वेरी मेरे SQL Server 2017 परिवेश में 284 पंक्तियाँ और मेरे SQL Server 2019 परिवेश में 291 पंक्तियाँ लौटाती है।
उदाहरण 2 - एकल ईवेंट प्रकार लौटाएं
आप पिछली क्वेरी को संशोधित कर सकते हैं ताकि वह ब्रेडक्रंब शैली में सूचीबद्ध एक विशिष्ट ईवेंट प्रकार लौटाए।
यहां CREATE_TABLE लौटाने का एक उदाहरण दिया गया है ब्रेडक्रंब शैली में घटना प्रकार:
WITH event_types(Type, Type_Name, Parent_Type, Level, Sort) AS
(
SELECT
tet.type,
tet.type_name,
tet.parent_type,
1 AS Level,
CONVERT(nvarchar(255), tet.type_name)
FROM sys.trigger_event_types tet
WHERE parent_type IS NULL
UNION ALL
SELECT tet.type,
CONVERT(nvarchar(64), REPLICATE('| ' , Level) + tet.type_name),
tet.parent_type,
Level + 1,
CONVERT(nvarchar(255), RTRIM(Sort) + ' > ' + tet.type_name)
FROM sys.trigger_event_types AS tet
INNER JOIN event_types AS et
ON et.type = tet.parent_type
)
SELECT Sort AS [Result]
FROM event_types
WHERE RIGHT(Sort, 12) = 'CREATE_TABLE';
परिणाम:
+--------------------------------------------------------------------------------------------------+ | Result | |--------------------------------------------------------------------------------------------------| | DDL_EVENTS > DDL_DATABASE_LEVEL_EVENTS > DDL_TABLE_VIEW_EVENTS > DDL_TABLE_EVENTS > CREATE_TABLE | +--------------------------------------------------------------------------------------------------+