BEFORE UPDATE ТРИГГЕР

В этом учебном пособии вы узнаете, как создать триггер BEFORE UPDATE (перед обновлением) в Oracle с синтаксисом и примерами.

Описание

Oracle исполняет (возбуждает) триггер BEFORE UPDATE перед выполнением оператора UPDATE.

Синтаксис

CREATE [ OR REPLACE ] TRIGGER имя_триггера
BEFORE UPDATE
ON имя_таблицы
[ FOR EACH ROW ]
DECLARE
-- декларирование переменных
BEGIN
-- код триггера
EXCEPTION
WHEN ...
-- обработка исключительной ситуации
END;

Параметры или аргументы

имя_триггера наименование создаваемого триггера.

BEFORE UPDATE указывает, что триггер срабатывает до выполнения оператора UPDATE.

имя_таблицы наименование таблицы для которой триггер был создан.

Ограничения

  • Вы не можете создавать триггер в представлениях (view).
  • Вы можете обновить :NEW (новые) значения.
  • Вы не можете обновить :OLD (старые) значения.

Примечание

Пример

Рассмотрим на примере, как создать триггер BEFORE UPDATE, используя конструкцию CREATE TRIGGER.
Если вы создали таблицу следующей структуры:

CREATE TABLE orders
( order_id number(5),
quantity number(4),
cost_per_item number(6,2),
total_cost number(8,2),
updated_date date,
updated_by varchar2(10)
);

Тогда мы создадим триггер BEFORE UPDATE следующим образом: