|
|
|
рекурсия в триггерах ???
|
|||
|---|---|---|---|
|
#18+
Привет всем. Проблема такая: Надо организовать каскадные изменения в некой таблице. Для этого был создан триггер, вносящий изменения в эту же таблицу. Беда в том, что триггер отрабатывает только 1 раз и все. Кто знает, помогите! Используется MSSQL 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2002, 15:57:40 |
|
||
|
рекурсия в триггерах ???
|
|||
|---|---|---|---|
|
#18+
Тернистый этот путь. Не советую. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2002, 17:22:30 |
|
||
|
рекурсия в триггерах ???
|
|||
|---|---|---|---|
|
#18+
Да уж больно красиво все получится если таки пойти по этому пути. А все-таки КАК? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2002, 17:45:41 |
|
||
|
рекурсия в триггерах ???
|
|||
|---|---|---|---|
|
#18+
Смотри в BOL: Creating and Maintaining Databases \ Enforcing Business Rules with Triggers \ Creating a Trigger \ Using Nested Triggers С уважением, Александр Степанов a_stepanov_2000@mail.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2002, 11:11:22 |
|
||
|
рекурсия в триггерах ???
|
|||
|---|---|---|---|
|
#18+
Спасибо. Вечером посмотрю, попробую. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2002, 15:40:05 |
|
||
|
рекурсия в триггерах ???
|
|||
|---|---|---|---|
|
#18+
Тоже мучаюсь сейчас с такой же проблемой. Почитал про Nested Triggers, по-моему, это не то. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2002, 12:54:57 |
|
||
|
рекурсия в триггерах ???
|
|||
|---|---|---|---|
|
#18+
В BOL еще и про recursive triggers в той же главе. А вот они то вам и нужны. С уважением, Александр Степанов a_stepanov_2000@mail.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2002, 17:59:13 |
|
||
|
рекурсия в триггерах ???
|
|||
|---|---|---|---|
|
#18+
Рекурсивные вызовы триггеров по умолчанию отключены. Для того, чтобы их включить, нужно открыть свойства соответсвтующей БД в EM и установить галочку на Nested Triggers. Следует только помнить, что: - максимальная глубина вызова триггеров (любых, не только рекурсивных) - 16 в 7.0, 32 в 2000. - условие на выход из рекурсии необходимо ставить в триггере ПЕРЕД командой, запускающей триггер. Самостоятельно рекурсия не прервется (без ошибки, я имею в виду), даже если команда выполняется над пустым множеством записей. - где только возможно необходимо использовать циклы вместо рекурсии, ибо каждый рекурсивный вызов приводит к сохранению/восстановлению контекста, на что расходуются большие ресурсы. Необдуманное использование рекурсивных триггеров модет привести к жутким тормозам - проверено на практике. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2002, 20:46:10 |
|
||
|
|

start [/forum/topic.php?fid=46&fpage=3467&tid=1822415]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
83ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 199ms |
| total: | 358ms |

| 0 / 0 |
