Использование триггеров 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 изменения изменений! 2253 просмотров Stas Belkov Tue, 21 Nov 2017, 13:18:46
Разница между базой данных и э...
Разница между базой данных и э... 2130 просмотров Александров Попков Tue, 21 Nov 2017, 13:18:46
Oracle Personal Edition
Oracle Personal Edition 5176 просмотров Надин Tue, 21 Nov 2017, 13:32:12
Oracle alerts: генерируемые се...
Oracle alerts: генерируемые се... 4443 просмотров Алексей Вятский Tue, 21 Nov 2017, 13:18:05
Войдите чтобы комментировать

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