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 ;!!
См. также
Источник
create_trigger.txt · Последнее изменение: 2008/12/23 23:17 (внешнее изменение) · В данный момент заблокировано пользователем 188.124.36.38
Обсуждение