Курсовая работа: Особенности разработки триггеров и хранимых процедур в СУБД

INSERT INTO UD_DAN

VALUES(OLD.TAB_NO,OLD.FAM,OLD.IMIA,OLD.OTSH,OLD.G_R,OLD.ADRES,OLD.TEL,OLD.DATA_P,OLD.DATA_U, OLD.OBRAZ,OLD.SEM_POLOJ, OLD.S_N_PASPORT, OLD.K_V, OLD.K_O, OLD.K_P);

END^

SET TERM;^

Теперь если выполнить команду

DELETE FROM DAN

WHERE TAB_NO=1014; // (и 1013)

произойдёт конечно удаление строки из таблицы DAN, сработает триггер и удаленная строка запишется в таблицу UD_DAN, которая собственно и предназначена для хранения удаленных данных.

Что бы отключить триггер следует выполнить команду

ALTER TRIGGER < имя триггера > INACTIVE;

Что бы включить триггер следует выполнить команду

ALTER TRIGGER < имя триггера > ACTIVE ;

Что бы удалить триггер команда

DROP TRIGGER <имя триггера>;

Следующий триггер, срабатывает ДО ВСТАВКИ (BEFORE INSERT ) в таблицу DAN и заполняет поле первичного ключа (TAB_NO).

SET TERM ^;

CREATE TRIGGER VS_T FOR DAN

ACTIVE BEFORE INSERT POSITION 0

AS

BEGIN

IF (NEW.TAB_NO IS NULL ) THEN

NEW.TAB_NO=GEN_ID (TAB, 1);

END ^

SET TERM; ^

Для этого триггера потребуется генератор с начальным значением 1012, так как это максимальный табельный номер уже заполненной таблицы DAN и, новым сотрудникам, вносимым в таблицу, будут присвоены табельные номера, следующие за 1012.

CREATE GENERATOR TAB;

SET GENERATOR TAB TO 1012;

При вставки новой строки в таблицу DAN, даже не указав значение поля TAB_NO,

INSERT INTO DAN (FAM, IMIA, OTSH, G_R, ADRES, TEL, DATA_P, DATA_U, OBRAZ,

К-во Просмотров: 399
Бесплатно скачать Курсовая работа: Особенности разработки триггеров и хранимых процедур в СУБД