
Лабораторная работа 7
Формат команды создания триггера:
CREATE [OR REPLACE] TRIGGER Имя
{BEFORE | AFTER} INSERT, UPDATE, DELETE
ON Имя_таблицы
[WHEN Условие срабатывания]
[FOR EACH ROW]
BEGIN
…
END;
В триггере можно (и нужно) использовать специальные переменные, в которых хранятся удаляемая и вставляемая строка - :old и :new.
Примеры использования:
BEGIN
:new.st:=:new.st – :old.st
END;
BEGIN
SELECT st1 INTO :new.st FROM table1 WHERE st2=1;
END;
Задание:
Создать в своей схеме триггер для таблицы аналога EMP, который при внесении новой записи:
-
Если поле SAL равно 0 или NULL, то SAL присваивается минимальная зарплата из таблицы SALGRADE.
-
Если поле SAL больше 0, то SAL присваивается минимальная зарплата уровня, к которому сотрудник относится.