DeepEdit!

Программирование баз данных на Oracle, техническая документация, литература, статьи и публикации

  • Увеличить размер шрифта
  • Размер шрифта по умолчанию
  • Уменьшить размер шрифта

Порядок активизации триггеров DML

Триггеры активизируются при выполнении оператора DML. Алгоритм выполнения оператора DML таков:
Выполняются операторные триггеры BEFORE
Для каждой строки, на которую воздействует оператор:
Выполняются строковые триггеры BEFORE
Выполняются строковые триггеры AFTER
Выполняются операторные триггеры AFTER (при их наличии).
В качестве примера создадим различные триггеры UPDATE для табли­цы classes. Мы создадим три строковых триггера BEFORE и два опера­торных триггера AFTER:
При активизации каждого из триггеров будут видны изменения, сде­ланные предыдущими триггерами, а также изменения в базе данных, вне­сенные оператором. Для этого каждый триггер выводит значение счетчика (о модульных переменных рассказывается в главе 10).
Порядок, в котором активизируются триггеры одного вида, не опреде­лен. Из приведенного примера следует, что каждый триггер видит изме­нения, вносимые более ранними триггерами. Если порядок важен, следует объединить все операции в один триггер.

Внимание
При создании журнала моментальных снимков таблицы Oracle автоматически создает для нее строковый триггер AFTER ROW, обновляющий этот журнал после каждого оператора DML. Следует учитывать этот факт при создании дополнительного строкового триггера AFTER для данной таблицы. Существуют и другие ограничения на использование триггеров и моментальных снимков (известных как материализованные представления в Oracle). Дополнительная информация содержится в "Oracle Server Replication".
 


Ворота гаражные секционные стоимость. Секционные ворота Москва новости.







jAntivirus