FirebirdSQL logo
 VIEWPROCEDURE 

CREATE OR ALTER TRIGGER

Назначение

Создание нового или изменение существующего триггера.

Доступно в

DSQL, ESQL

Синтаксис
CREATE OR ALTER TRIGGER trigname {
    <relation_trigger_legacy>
  | <relation_trigger_sql2003>
  | <database_trigger>
  | <ddl_trigger> }
<routine-body>

Полное описание оператора см. CREATE TRIGGER.

Оператор CREATE OR ALTER TRIGGER создаёт новый триггер, если он не существует, или изменяет и перекомпилирует его в противном случае, при этом существующие права и зависимости сохраняются.

Примеры

Example 1. Создание нового или изменение существующего триггера
CREATE OR ALTER TRIGGER set_cust_no
ACTIVE BEFORE INSERT ON customer POSITION 0
AS
BEGIN
  IF (NEW.cust_no IS NULL) THEN
    NEW.cust_no = GEN_ID(cust_no_gen, 1);
END

DROP TRIGGER

Назначение

Удаление существующего триггера.

Доступно в

DSQL, ESQL

Синтаксис
DROP TRIGGER trigname
Table 1. Параметры оператора DROP TRIGGER
Параметр Описание

trigname

Имя триггера.

Оператор DROP TRIGGER удаляет существующий триггер.

Кто может удалить триггеры?

DML триггеры могут удалить:

  • Администраторы

  • Владелец таблицы (представления);

  • Пользователи с привилегией ALTER ANY {TABLE | VIEW}.

Триггеры для событий базы данных и триггеры событий на изменение метаданных могут удалить:

  • Администраторы

  • Владелец базы данных;

  • Пользователь, имеющий привилегию ALTER DATABASE.