Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / рекурсия в триггерах ??? / 8 сообщений из 8, страница 1 из 1
03.06.2002, 15:57:40
    #32031643
bug76
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
рекурсия в триггерах ???
Привет всем.
Проблема такая:
Надо организовать каскадные изменения в некой таблице. Для этого был создан триггер, вносящий изменения в эту же таблицу. Беда в том, что триггер отрабатывает только 1 раз и все.
Кто знает, помогите!
Используется MSSQL 7.
...
Рейтинг: 0 / 0
03.06.2002, 17:22:30
    #32031660
Dankov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
рекурсия в триггерах ???
Тернистый этот путь. Не советую.
...
Рейтинг: 0 / 0
03.06.2002, 17:45:41
    #32031663
bug76
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
рекурсия в триггерах ???
Да уж больно красиво все получится если таки пойти по этому пути.

А все-таки КАК?
...
Рейтинг: 0 / 0
04.06.2002, 11:11:22
    #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
04.06.2002, 15:40:05
    #32031737
bug76
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
рекурсия в триггерах ???
Спасибо.
Вечером посмотрю, попробую.
...
Рейтинг: 0 / 0
07.06.2002, 12:54:57
    #32032048
Roman M
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
рекурсия в триггерах ???
Тоже мучаюсь сейчас с такой же проблемой. Почитал про Nested Triggers, по-моему, это не то.
...
Рейтинг: 0 / 0
07.06.2002, 17:59:13
    #32032133
Stork
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
рекурсия в триггерах ???
В BOL еще и про recursive triggers в той же главе. А вот они то вам и нужны.

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


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