ВУЗ:
Составители:
Рубрика:
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 и хранящийся в
базе данных как метаданные. Хранимую процедуру можно вызвать из программы.
Создание выполняется оператором:
Страницы
- « первая
- ‹ предыдущая
- …
- 50
- 51
- 52
- 53
- 54
- …
- следующая ›
- последняя »