Как вызвать триггеры определенным пользователем способом? - PullRequest
1 голос
/ 27 декабря 2010

Я создал таблицу Employee, которая содержит EmpNo, EName, EDesignation в качестве полей. Также я создал 3 триггера, а именно: Trigger_1, Trigger_2 и Trigger_3 . Все триггеры Триггеры уровня оператора и запустил после обновления, выполненного в таблице. Теперь я хочу, чтобы следующие ордера запускались при запуске оператора триггеров.

Порядок

Trigger_3, Trigger_1, Trigger_2

Может кто-нибудь сказать мне, как инициировать события триггера определенным пользователем способом? Я использую Oracle 9i

Ответы [ 3 ]

5 голосов
/ 27 декабря 2010

Порядок оценки триггера

Цитата из документации Oracle:

Хотя любой триггер может выполнять последовательность операций как в строке, так и путем вызова процедур, используя несколько триггеров одного и того жеТип расширяет возможности администрирования базы данных, позволяя модульную установку приложений, которые имеют триггеры на одних и тех же таблицах.

Oracle Database выполняет все триггеры одного типа перед выполнением триггеров другого типа.Если у вас есть несколько триггеров одного типа в одной таблице, Oracle Database выбирает произвольный порядок выполнения этих триггеров.

Каждый последующий триггер видит изменения, сделанные ранее сработавшими триггерами.Каждый триггер может видеть старые и новые значения.Старые значения являются исходными значениями, а новые значения являются текущими значениями, установленными последним сработавшим триггером UPDATE или INSERT.

Чтобы обеспечить выполнение нескольких инициируемых действий в определенном порядке, необходимо выполнить консолидациюэти действия в один триггер (например, если триггер вызовет серию процедур).

см. также http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14251/adfns_triggers.htm

0 голосов
/ 29 декабря 2010

Обновление до 11g, и вы можете определить порядок выполнения триггера

0 голосов
/ 27 декабря 2010

Имейте один триггер с содержанием трех.

Если вы не можете по причинам модульности, возможности повторного использования ... создать три хранимые процедуры и вызывать их одну за другой в одном триггере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...