2010-12-27 2 views
1

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

Орден

Trigger_3, Trigger_1, Trigger_2

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

ответ

5

Trigger Оценка Заказ

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

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

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

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

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

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

+0

избили меня 1 секундой. Вместо этого я отвечу на ваш ответ :) – Ronnis

0

Есть один триггер с содержимым трех.

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

Смежные вопросы