Триггеры (TRIGGERS)

Триггером называется процедура, которая автоматически выполняется, когда для определенной таблицы базы данных выполняется оператор DML (Insert, Update, Delete).

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


Создание триггера

CREATE [OR REPLACE] TRIGGER имя_триггера
BEFORE | AFTER | INSTEAD OF собитие_триггера
ON имя_таблицы
[FOR EACH ROW [WHEN условие_триггера]]
BEGIN
тело триггера
END имя_триггера


Получение информации о триггерах

Информацию о триггерах можно получить из представления user_triggers


Блокировка и активизация триггера

ALTER TRIGGER trigger_name ENABLE;
ALTER TRIGGER trigger_name DISABLE;


Удаление триггера

DROP TRIGGER trigger_name;