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

Откуда: Санкт-Петербург
Сообщений: 5489
Давно не работал с триггерами и вот, пришлось.

Когда-то давно читал, что можно явно задать лишь первый и последний. Но, вдруг есть шанс? Документированный? У меня SQL 2008 R2. Ну, если не задать, то хоть определить в каком порядке сервер их вызывать будет. Реально?

Ну и вопрос. Если в триггере на апдейт я делаю апдейт, то рекурсии не происходит. То есть, этот триггер не вызывается. Однако, вызываются другие на апдейт, если они есть. Это где-то документировано? Ну, вот, это избежание рекурсии?
20 мар 17, 18:48    [20315251]     Ответить | Цитировать Сообщить модератору
 Re: Порядок выполнения триггеров  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6802
Dmitry V. Liseev,

sp_settriggerorder
https://msdn.microsoft.com/en-us/library/ms182737.aspx
20 мар 17, 18:52    [20315257]     Ответить | Цитировать Сообщить модератору
 Re: Порядок выполнения триггеров  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6802
автор
то хоть определить в каком порядке сервер их вызывать будет. Реально?

The AFTER triggers that are fired between the first and last triggers are executed in undefined order.
20 мар 17, 18:55    [20315269]     Ответить | Цитировать Сообщить модератору
 Re: Порядок выполнения триггеров  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
Dmitry V. Liseev
Если в триггере на апдейт я делаю апдейт, то рекурсии не происходит. То есть, этот триггер не вызывается. Однако, вызываются другие на апдейт, если они есть. Это где-то документировано? Ну, вот, это избежание рекурсии?
В параметрах базы данных есть "Nested Triggers Enabled" и "Recursive Triggers Enabled".
Так что это всё настраивается. Но только для всей базы!
Если измените под себя, вас побьют!
20 мар 17, 21:11    [20315619]     Ответить | Цитировать Сообщить модератору
 Re: Порядок выполнения триггеров  [new]
Dmitry V. Liseev
Member [заблокирован]

Откуда: Санкт-Петербург
Сообщений: 5489
TaPaK
executed in undefined order.
Спасибо. Жизнь - боль.
iap
Если измените под себя, вас побьют!
Благодарю.
20 мар 17, 21:20    [20315636]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить