DeepEdit!

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

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

Триггерные предикаты: INSERTING, UPDATING и DELETING

Приведенный выше триггер UpdateMaj оrStats является триггером INSERT, UPDATE и DELETE. Внутри триггера такого типа (который срабатывает на различные виды операторов DML) можно использовать три логические функции, определяющие тип выполняемой операции. Это логические функции (предикаты) INSERTING, UPDATING и DELETING. Их работа описывается в таблице ниже.

В триггере LogRSChanges эти предикаты используются для записи всех изменений, вносимых в таблицу registered_students. Записывается также пользователь, внесший изменение. Записи сохраняются в таблице RS_audit, которая выглядит следующим образом:
Обычно триггеры используются для аудита (контроля) информации, что показано на примере триггера LogRSChanges. В базе данных Oracle имеется специальное средство, позволяющее осуществлять аудит данных, однако с помощью триггеров можно сделать аудит более гибким. К примеру, можно изменить LogRSChanges так, чтобы записывались только те изменения, которые вносят определенные пользователи. Можно также проверять наличие у пользователей полномочий на внесение изменений и устанавливать исключительную ситуацию 
 









jAntivirus