Разработка клиент-серверных приложений с использованием технологий Oracle. Семенова И.И. - 76 стр.

UptoLike

Составители: 

75
Теперь создадим триггер:
CREATE OR REPLACE TRIGGER ADMIN_BOOKS.Trigger3 AFTER
INSERT OR UPDATE OR DELETE ON ADMIN_BOOKS.Publishing_house
FOR EACH ROW
DECLARE
TIP VARCHAR2(10);
BEGIN
IF INSERTING THEN
TIP := 'INSERT';
ELSIF UPDATING THEN
TIP := 'UPDATE';
ELSIF DELETING THEN
TIP := 'DELETE';
END IF;
INSERT INTO ADMIN_BOOKS.Audit_Trigger3(date_oper,
user_name, oper) VALUES (SYSDATE, USER, TIP);
END Trigger3;
Системные триггеры
В БД существует два основных вида событий, на которые активизиру-
ются системные триггеры, а именно на события
DDL или самой БД. К со-
бытиям
DDL относятся операторы CREATE, DROP, ALTER, к событиям
базы данныхзапуск останов сервера, регистрация отключения пользова-
теля БД, ошибка сервера. Основные примеры событий и их обработки да-
ны в табл. 6.1. Описание атрибутивных функций, которые могут быть ис-
пользованы в триггерах дано в табл. 6.2.
Синтаксис создания системного триггера:
CREATE OR REPLACE TRIGGER [схема.]имя_триггера
{BEFORE | AFTER}
{список_событий_DDL | список_событий_базы_данных}
ON {DATABASE | [схема.]SCHEMA}
конструкция_REFERENCING
[условие_WHEN]
тело триггера;
Системные триггеры могут создаваться на уровне схемы (
SCHEMA)
или уровне БД (
DATABASE).
CREATE OR REPLACE TRIGGER Trigger4 AFTER LOGON ON
DATABASE