Курсовая работа: Особенности разработки триггеров и хранимых процедур в СУБД
EXECUTE PROCEDURE VSTAV_NASH (NEW.TAB_NO);
END ^
SET TERM;^
Хранимая процедура, вызываемая триггером.
SET TERM ^;
CREATE PROCEDURE VSTAV_NASH (T FLOAT )
AS
BEGIN
INSERT INTO NASH
VALUES (: T, 200, 307, 100, 0.5, 20);
END ^
SET TERM; ^
При вставке строки
INSERT INTO DAN (FAM, IMIA,OTSH,G_R,ADRES,TEL)
VALUES ('Кротов', 'Андрей', 'Федорович', '12.08.1961', 'Кирова 52-124', '281344');
произойдет следующее:
1. Сработает триггер VS_T, который присвоит новому сотруднику,
следующий по порядку, табельный номер.
2. Заполнятся строка в таблице DANNIE соответствующими данными о новом сотруднике.
3. Срабатывает триггер Z_NASH, который вызывает ХП.
4. Хранимая процедура VSTAV_NASH вставляет в таблицу NASH данные (принятые по умолчанию) для нового сотрудника.
· Управление состоянием триггера.
По умолчанию триггер создается активным, т. е. он будет срабатывать при осуществлении соответствующей операции. Состоянием триггера управляет ключевое слово ACTIVE в заголовке. Если же триггер сделать неактивным, то он не будет исполняться при возникновении операции. Это бывает полезным при осуществлении каких-либо внеплановых операций над данными, например массовой заливке данных или ручном исправлении данных. Чтобы отключить триггер, необходимо выполнить команду DDL:
ALTER TRIGGER <trigger name> INACTIVE ;
· Удаление триггеров.
Удаление триггера выполняется с помощью оператора DROP TRIGGER . Синтаксис оператора удаления таков:
DROP TRIGGER name;
Здесь name – имя триггера.
Это отдельная подпрограмма, связанная с таблицей или вьюером , которая автоматически выполняет действие, когда модифицируется таблица или вьюер на уровне строки. Они не вызываются напрямую, только при модификации таблиц или вьюеров.