powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / рекурсия в триггерах ???
8 сообщений из 8, страница 1 из 1
рекурсия в триггерах ???
    #32031643
bug76
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет всем.
Проблема такая:
Надо организовать каскадные изменения в некой таблице. Для этого был создан триггер, вносящий изменения в эту же таблицу. Беда в том, что триггер отрабатывает только 1 раз и все.
Кто знает, помогите!
Используется MSSQL 7.
...
Рейтинг: 0 / 0
рекурсия в триггерах ???
    #32031660
Dankov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тернистый этот путь. Не советую.
...
Рейтинг: 0 / 0
рекурсия в триггерах ???
    #32031663
bug76
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да уж больно красиво все получится если таки пойти по этому пути.

А все-таки КАК?
...
Рейтинг: 0 / 0
рекурсия в триггерах ???
    #32031705
Stork
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Смотри в BOL: Creating and Maintaining Databases \ Enforcing Business Rules with Triggers \ Creating a Trigger \ Using Nested Triggers

С уважением,
Александр Степанов
a_stepanov_2000@mail.ru
...
Рейтинг: 0 / 0
рекурсия в триггерах ???
    #32031737
bug76
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо.
Вечером посмотрю, попробую.
...
Рейтинг: 0 / 0
рекурсия в триггерах ???
    #32032048
Roman M
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тоже мучаюсь сейчас с такой же проблемой. Почитал про Nested Triggers, по-моему, это не то.
...
Рейтинг: 0 / 0
рекурсия в триггерах ???
    #32032133
Stork
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В BOL еще и про recursive triggers в той же главе. А вот они то вам и нужны.

С уважением,
Александр Степанов
a_stepanov_2000@mail.ru
...
Рейтинг: 0 / 0
рекурсия в триггерах ???
    #32032387
Фотография Garya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Рекурсивные вызовы триггеров по умолчанию отключены. Для того, чтобы их включить, нужно открыть свойства соответсвтующей БД в EM и установить галочку на Nested Triggers.
Следует только помнить, что:
- максимальная глубина вызова триггеров (любых, не только рекурсивных) - 16 в 7.0, 32 в 2000.
- условие на выход из рекурсии необходимо ставить в триггере ПЕРЕД командой, запускающей триггер. Самостоятельно рекурсия не прервется (без ошибки, я имею в виду), даже если команда выполняется над пустым множеством записей.
- где только возможно необходимо использовать циклы вместо рекурсии, ибо каждый рекурсивный вызов приводит к сохранению/восстановлению контекста, на что расходуются большие ресурсы. Необдуманное использование рекурсивных триггеров модет привести к жутким тормозам - проверено на практике.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / рекурсия в триггерах ???
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]