Курсовая работа: Особенности разработки триггеров и хранимых процедур в СУБД
SET TERM^;
CREATE TRIGGER CHRAN_UD_DAN FOR DAN
ACTIVE AFTER DELETE POSITION 0
AS
BEGIN
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=1000;
произойдет, конечно, удаление строки из таблицы DAN, сработает триггер, и удаленная строка запишется в таблицу UD_DAN, которая собственно и предназначена для хранения удаленных данных.
Что бы отключить триггер следует выполнить команду
ALTER TRIGGER < имя триггера > INACTIVE;
Включить триггер следует выполнить команду
ALTER TRIGGER <имя триггера> ACTIVE;
Для удаления триггера команда
DROP TRIGGER <имя триггера>;
· Триггеры в MS Access
БД всегда содержит какую-нибудь особенность, которая не вписывается в схему возможных ограничений Access на значение конкретного поля или совокупности полей в записи таблицы. Кое-какие ограничения, конечно, задать можно, но их сложность ограничивается сложностью выражения, которое Access способен переварить в качестве такого ограничения. Никакой сложной обработки, вроде обращения к другим таблицам, там нет.
Пожелание разработчика в целом можно сформулировать так: "хочу иметь пользовательскую функцию, которая сраба?