Здаствуйте.
При изменении таблицы в триггере на AFTER UPDATE
в зависимости от значения NEW.FIELD1 нужно поменять остальные
FIELD1 - что конечно вызывет рекурсию
Что в это случае делют?
Я вот подумал сначала- в начале "тела" триггера сделать его же не активным,
а вконце снова активировать
Но эти изменения не наступят ведь в силу до конца транзакции
Да и другие пользаватели могут наткнуться на неработающий триггер?
Как быть?
FireBird 1.5
Заранее спасибо
Как предотвращают рекурсию триггеров?
Re: Как предотвращают рекурсию триггеров?
а ты пробовал? и получил рекурсию? не верюshempeev писал(а):Здаствуйте.
При изменении таблицы в триггере на AFTER UPDATE
в зависимости от значения NEW.FIELD1 нужно поменять остальные
FIELD1 - что конечно вызывет рекурсию
Что в это случае делют?
Я вот подумал сначала- в начале "тела" триггера сделать его же не активным,
а вконце снова активировать
Но эти изменения не наступят ведь в силу до конца транзакции
Да и другие пользаватели могут наткнуться на неработающий триггер?
Как быть?
FireBird 1.5
Заранее спасибо
Re: Как предотвращают рекурсию триггеров?
почему бы не использовать для этого триггер BEFORE UPDATE?shempeev писал(а):При изменении таблицы в триггере на AFTER UPDATE в зависимости от значения NEW.FIELD1 нужно поменять остальные FIELD1
Re: Как предотвращают рекурсию триггеров?
Да даа ты пробовал? и получил рекурсию? не верю
Все правильно
Косяк был в другом
Просто
"Too many executions" - принял за многократный вызов
Спасибо, вопрос снят