Использование триггеров Oracle

Триггеры Oracle подобны процедурам PL/SQL, но вызываются автоматически базой данных в ответ на определенные события. Для администраторов баз данных триггеры удобны для решения задач, связанных с аудитом и обеспечением безопасности. Помимо стандартных триггеров Oracle, которые вызываются перед и после выполнения операторов DML, существуют мощные триггеры, связанные с системными событиями, такими как запуск и останов базы данных, а также вход и выход пользователей. В будущих заметках блога мы обсудим  применение триггеров для повышения безопасности базы данных.

Триггер создается оператором CREATE TRIGGER. Триггер можно заставить срабатывать перед (BEFORE), после (AFTER) и вместо (INSTEAD OF) определенного события.

В следующем примере показана структура оператора CREATE TRIGGER для триггера BEFORE события. Перед тем, как оператор DML удалит, вставит или обновит строку в таблице employee, Oracle автоматически вызовет этот триггер. 

SQL> CREATE TRIGGER scott.emp_permit_changes
BEFORE DELETE
OR INSERT
OR UPDATE
ON employees
. . .
/* Далее следует ваш код SQL или PL/SQL

После создания триггер по умолчанию включен. Если по какой-то причине его необходимо временно отключить, воспользуйтесь следующим оператором:

SQL> ALTER TRIGGER test DISABLE; 

Повторно включить триггер можно с помощью такой команды:

SQL> ALTER TRIGGER test ENABLE; 

Вас заинтересует / Intresting for you:

Oracle изменения изменений!
Oracle изменения изменений! 3112 просмотров Stas Belkov Tue, 21 Nov 2017, 13:18:46
Разница между базой данных и э...
Разница между базой данных и э... 3266 просмотров Александров Попков Tue, 21 Nov 2017, 13:18:46
Базы данных Oracle: что нужно ...
Базы данных Oracle: что нужно ... 64949 просмотров Ирина Светлова Thu, 24 Jun 2021, 20:01:45
Oracle Personal Edition
Oracle Personal Edition 5969 просмотров Надин Tue, 21 Nov 2017, 13:32:12
Войдите чтобы комментировать

anders7777 аватар
anders7777 ответил в теме #8700 6 года 6 мес. назад
Лучше всего, когда то или иное понятие объясняется на примере. В данном случае именно так. Краткий пример и ву-а-ля! Всем понятно, что такое триггер в базе данных Oracle!