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

Откуда:
Сообщений: 249
Здравствуйте.

Есть два триггера, как сделать чтобы TRIGGER AGREEMENT_AIUDS1 сработал последним?

TRIGGER AGREEMENT_AIUDS
 AFTER
 INSERT OR DELETE OR UPDATE
 ON AGREEMENT
 REFERENCING OLD AS OLD NEW AS NEW

и 

TRIGGER AGREEMENT_AIUDS1
 AFTER
 INSERT OR DELETE OR UPDATE
 ON AGREEMENT
 REFERENCING OLD AS OLD NEW AS NEW
20 июн 19, 12:26    [21912130]     Ответить | Цитировать Сообщить модератору
 Re: Порядок выполнения триггеров  [new]
Stax
Member

Откуда: Ukraine,Lviv
Сообщений: 2793
roma1975,

версия оракля?

.....
stax
20 июн 19, 12:28    [21912131]     Ответить | Цитировать Сообщить модератору
 Re: Порядок выполнения триггеров  [new]
roma1975
Member

Откуда:
Сообщений: 249
Версия Oracle Database 11g Release 11.2.0.3.0 - 64bit Production
20 июн 19, 12:30    [21912134]     Ответить | Цитировать Сообщить модератору
 Re: Порядок выполнения триггеров  [new]
Stax
Member

Откуда: Ukraine,Lviv
Сообщений: 2793
Stax,

https://docs.oracle.com/cd/E11882_01/appdev.112/e25519/create_trigger.htm#LNPLS01374
trigger_ordering_clause


FOLLOWS | PRECEDES

Specifies the relative firing of triggers that have the same timing point. It is especially useful when creating crossedition triggers, which must fire in a specific order to achieve their purpose.

Use FOLLOWS to indicate that the trigger being created must fire after the specified triggers. You can specify FOLLOWS for a conventional trigger or for a forward crossedition trigger.

Use PRECEDES to indicate that the trigger being created must fire before the specified triggers. You can specify PRECEDES only for a reverse crossedition trigger.

The specified triggers must exist, and they must have been successfully compiled. They need not be enabled.



.....
stax
20 июн 19, 12:35    [21912138]     Ответить | Цитировать Сообщить модератору
 Re: Порядок выполнения триггеров  [new]
mRdUKE
Member

Откуда: ТЛТ
Сообщений: 494
roma1975
как сделать чтобы TRIGGER AGREEMENT_AIUDS1 сработал последним?
Добавить AIUDS1 в AIUDS не вариант?
Execution Order of Triggers
20 июн 19, 12:35    [21912139]     Ответить | Цитировать Сообщить модератору
 Re: Порядок выполнения триггеров  [new]
roma1975
Member

Откуда:
Сообщений: 249
Я так и сделал. Мне сказали нельзя изменять стандартный для нашей программы, которую обслуживают другие люди триггер.
20 июн 19, 12:40    [21912144]     Ответить | Цитировать Сообщить модератору
 Re: Порядок выполнения триггеров  [new]
Stax
Member

Откуда: Ukraine,Lviv
Сообщений: 2793
roma1975,

часто порядок AFTER не столь важен чем для BEFORE

.....
stax
20 июн 19, 13:01    [21912170]     Ответить | Цитировать Сообщить модератору
 Re: Порядок выполнения триггеров  [new]
alex-ls
Member

Откуда: Иркутская обл - Пенза - Москва
Сообщений: 6913
правильно сделать 1 триггер
20 июн 19, 13:53    [21912223]     Ответить | Цитировать Сообщить модератору
 Re: Порядок выполнения триггеров  [new]
Stax
Member

Откуда: Ukraine,Lviv
Сообщений: 2793
alex-ls
правильно сделать 1 триггер

покупная система
резработчиков трогать нельзя(накроют патчем), добавить свой можно

....
stax
20 июн 19, 14:01    [21912227]     Ответить | Цитировать Сообщить модератору
 Re: Порядок выполнения триггеров  [new]
Elic
Member

Откуда:
Сообщений: 29987
Stax
резработчиков трогать нельзя(накроют патчем), добавить свой можно
С таким же успехом они его могут грохнуть и создать заново.
20 июн 19, 14:07    [21912236]     Ответить | Цитировать Сообщить модератору
 Re: Порядок выполнения триггеров  [new]
Stax
Member

Откуда: Ukraine,Lviv
Сообщений: 2793
Elic
Stax
резработчиков трогать нельзя(накроют патчем), добавить свой можно
С таким же успехом они его могут грохнуть и создать заново.

могут и грохнуть

добро что хоть разрешают добавлять свои триггера

.....
stax
20 июн 19, 14:12    [21912239]     Ответить | Цитировать Сообщить модератору
 Re: Порядок выполнения триггеров  [new]
Elic
Member

Откуда:
Сообщений: 29987
Stax
могут и грохнуть
И что станет с "FOLLOWS | PRECEDES"?
20 июн 19, 14:24    [21912249]     Ответить | Цитировать Сообщить модератору
 Re: Порядок выполнения триггеров  [new]
-2-
Member

Откуда:
Сообщений: 15330
Stax
покупная система
резработчиков трогать нельзя(накроют патчем), добавить свой можно
Если встал вопрос о последовательности исполнения, то между действиями триггеров есть зависимость. Если в патче затронут триггер, так или иначе нужно будет разбираться с влиянием на эту зависимость. При изменении кода может быть удобнее два триггера, при временном дизейбле - один.
20 июн 19, 14:28    [21912257]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить