![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Триггер создается оператором:
CREATE TRIGGER ИмяТриггера FOR ИмяТаблицы
[ ACTIVE | INACTIVE ]
{ BEFORE | AFTER }
{ DELETE | INSERT | UPDATE }
[ POSITION номер ]
AS
[<объявление локальных переменных>]
BEGIN
<оператор>
END
Для определения тела триггера используется процедурный язык, рассмотренный для хранимых процедур. В него добавляется возможность доступа к старому и новому значениям столбцов изменяемой записи OLD и NEW.
Заголовок триггера имеет следующие управляющие элементы:
ACTIVE | INACTIVE – указывает, активен триггер или нет. Можно определить триггер «про запас», установив для него INACTIVE. По умолчанию действует ACTIVE.
BEFORE | AFTER – указывает, будет выполнятьсятриггер до (BEFORE) или после (AFTER) запоминания изменений в БД.
DELETE | INSERT | UPDATE – указывает операцию над таблицей БД, при выполнении которой срабатывает триггер.
POSITION номер – указывает каким по счету будет выполняться триггер в случае наличия группы триггеров, обладающих одинаковыми характеристиками. Триггеры с меньшими номерами выполняются раньше
Пример.
Обеспечение каскадных воздействий):
CREATE TRIGGER AD_TOVARY FOR TOVARY
ACTIVE
AFTER DELETE
POSITION 1
AS
BEGIN
DELETE FROM RASHOD
WHERE RASHOD.TOVAR = TOVARY.TOVAR;
END
Дата публикования: 2014-12-28; Прочитано: 193 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!