Основы проектирования баз данных в САПР. Литовка Ю.В - 52 стр.

UptoLike

ACTIVE
AFTER INSERT
AS
BEGIN
INSERT INTO gurnal_det (dat_izm, deistv, old_name, new_name)
VALUES ("now", "ins", " ", NEW.name_det);
END
CREATE TRIGGER gurnal_det_upd FOR detal
ACTIVE
AFTER UPDATE
AS
BEGIN
INSERT INTO gurnal_det (dat_izm, deistv, old_name, new_name)
VALUES ("now", "upd", OLD.name_det, NEW.name_det);
END
CREATE TRIGGER gurnal_det_del FOR detal
ACTIVE
AFTER UPDATE
AS
BEGIN
INSERT INTO gurnal_det (dat_izm, deistv, old_name, new_name)
VALUES ("now", "del", OLD.name_det, " ");
END
Теперь все изменения столбца detal.name_det будут фиксироваться в журнале на сервере.
Следует заметить, что для операции удаления новое значение столбца name_det будет пустым, а
для операции добавления пустым будет старое значение этого столбца. Просмотр журнала выпол-
няется так же, как и просмотр обычной таблицы:
SELECT * FROM gurnal_det;
Операции изменения и удаления допускаются и над триггером. Существующий триггер можно
изменить оператором:
ALTER TRIGGER <имя триггера> FOR <имя таблицы>
[ACTIVE | INACTIVE]
{BEFORE | AFTER}
{DELETE | INSERT | UPDATE}
{POSITION <номер>]
AS <тело триггера>
После выполнения этого оператора все старые определения триггера заменяются на указанные в
его составе.
Удалить триггер можно оператором:
DROP TRIGGER <имя триггера>;
7.15 РАБОТА С ХРАНИМЫМИ ПРОЦЕДУРАМИ
(НА ПРИМЕРЕ СУБД INTERBASE)
Хранимая процедура это модуль, написанный на процедурном языке InterBase и хранящийся в
базе данных как метаданные. Хранимую процедуру можно вызвать из программы.
Создание выполняется оператором: