Инструменты пользователя

Инструменты сайта


create_trigger



CREATE TRIGGER

Версии сервера

0.9 1.0 1.5.3 1.5.4 1.5.5 2.0 2.0.3 2.0.4 2.1 2.5 3.0
Да Да Да Да Да Да Да Да Да ? ?

Доступно в

Формат

Для версии 1.5 и выше:
CREATE TRIGGER name FOR {table | view}
   [ACTIVE | INACTIVE]
   {BEFORE | AFTER} <action_list>
   [POSITION number]
   AS
   <trigger_body>

<action_list>  ::=  <action> [OR <action> [OR <action>]]
<action>       ::=  INSERT | UPDATE | DELETE

Для версий ниже 1.5:
CREATE TRIGGER name FOR {table | view}
   [ACTIVE | INACTIVE]
   {BEFORE | AFTER} {INSERT | UPDATE | DELETE}
   [POSITION number]
   AS
   <trigger_body>
Аргумент Описание
name Имя создаваемого триггера.
ACTIVE Определяет, что действие триггера дает эффект, когда тот запускается (по умолчанию).
INACTIVE Определяет, что действие триггера не дает эффекта.
BEFORE Определяет, что триггер срабатывает перед ассоциированной операцией.
AFTER Определяет, что триггер срабатывает после ассоциированной операции.
DELETE, INSERT, UPDATE Определяет операцию над таблицей, при которой срабатывает триггер.
POSITION number Определяет порядок в котором срабатывают триггеры перед или после того же самого действия. number должен быть целым от 0 до 32767. Триггер с меньшим номером срабатывает раньше. Триггеры для того же самого действия, с тем же самым позиционным номером, будут запущены в случайном порядке.
trigger_body Тело триггера, блок инструкций на языке процедур и триггеров.
terminator Терминатор, определенный для ISQL командой SET TERM, указывающий на конец тела триггера.

Описание

Создает триггер, то есть блок PSQL кода, который выполняется автоматически перед или после изменения таблицы или отображения.

Пример

Триггер, использующий значения генератора, для значений поля, при вставке записей.

SET term !!;
CREATE TRIGGER gen_reader_id_trg FOR reader BEFORE INSERT
AS BEGIN
   NEW.reader_id = gen_id(gen_reader_id, 1);
END!!
SET term ;!!

См. также

Источник

Обсуждение

Ваш комментарий. Вики-синтаксис разрешён:
W Z R C Q
 
create_trigger.txt · Последнее изменение: 2008/12/23 23:17 (внешнее изменение) · В данный момент заблокировано пользователем 188.124.36.38