Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 как определить тип триггера  [new]
Jaffar
Member

Откуда:
Сообщений: 633
Добрый день.

вопрос простой - есть имя триггера , нужно определить по имени тип триггера т.е. на какое действие(INS, UPD, DEL) он срабатывает.
Вариант зайти в него и посмотреть код - не предлагать.
системный вид sys.trigger - такой информации не предоставляет.
3 май 12, 10:20    [12499166]     Ответить | Цитировать Сообщить модератору
 Re: как определить тип триггера  [new]
studieren
Member

Откуда: Tashkent, Uzbekistan
Сообщений: 2845
Jaffar,

А если так попробовать?
SELECT T.name, E.type_desc
FROM sys.triggers AS T INNER JOIN sys.trigger_events AS E ON
	T.object_id = E.object_id
3 май 12, 10:24    [12499195]     Ответить | Цитировать Сообщить модератору
 Re: как определить тип триггера  [new]
invm
Member

Откуда: Москва
Сообщений: 9836
objectproperty
3 май 12, 10:25    [12499201]     Ответить | Цитировать Сообщить модератору
 Re: как определить тип триггера  [new]
Jaffar
Member

Откуда:
Сообщений: 633
studieren
Jaffar,

А если так попробовать?
SELECT T.name, E.type_desc
FROM sys.triggers AS T INNER JOIN sys.trigger_events AS E ON
	T.object_id = E.object_id


спасибо. так я и думал, что есть какая-нить сист. вьюха.
3 май 12, 10:32    [12499248]     Ответить | Цитировать Сообщить модератору
 Re: как определить тип триггера  [new]
studieren
Member

Откуда: Tashkent, Uzbekistan
Сообщений: 2845
Jaffar,

Вот чуть-чуть улучшил запрос.
SELECT
	T.name AS TriggerName,
	CASE WHEN T.is_instead_of_trigger = 1 THEN 'INSTEAD OF'
		ELSE 'AFTER' END AS TriggerType,
	E.type_desc AS TriggerAction,
	T.is_disabled
FROM sys.triggers AS T INNER JOIN sys.trigger_events AS E ON
	T.object_id = E.object_id
3 май 12, 10:33    [12499260]     Ответить | Цитировать Сообщить модератору
 Re: как определить тип триггера  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31962
Jaffar
studieren
Jaffar,

А если так попробовать?
SELECT T.name, E.type_desc
FROM sys.triggers AS T INNER JOIN sys.trigger_events AS E ON
	T.object_id = E.object_id



спасибо. так я и думал, что есть какая-нить сист. вьюха.
Ещё в sys.events то же самое.
3 май 12, 10:34    [12499269]     Ответить | Цитировать Сообщить модератору
 Re: как определить тип триггера  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
invm
objectproperty
+100
http://msdn.microsoft.com/ru-ru/library/ms176105(v=sql.100).aspx
3 май 12, 18:57    [12503703]     Ответить | Цитировать Сообщить модератору
 Re: как определить тип триггера  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
iap
invm
objectproperty
+100
http://msdn.microsoft.com/ru-ru/library/ms176105(v=sql.100).aspx
ExecIsDeleteTrigger
ExecIsInsertTrigger
ExecIsUpdateTrigger
3 май 12, 18:59    [12503719]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить