Примеры
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
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
Параметр | Описание |
---|---|
trigname |
Имя триггера. |
Оператор DROP TRIGGER
удаляет существующий триггер.
DML триггеры могут удалить:
Владелец таблицы (представления);
Пользователи с привилегией ALTER ANY {TABLE | VIEW}
.
Триггеры для событий базы данных и триггеры событий на изменение метаданных могут удалить:
Владелец базы данных;
Пользователь, имеющий привилегию ALTER DATABASE
.
DROP TRIGGER set_cust_no;
RECREATE TRIGGER
Создание нового или пересоздание существующего триггера.
DSQL, ESQL
RECREATE TRIGGER trigname { <relation_trigger_legacy> | <relation_trigger_sql2003> | <database_trigger> | <ddl_trigger> } <routine-body> Полное описание оператора см. CREATE TRIGGER.
Оператор RECREATE TRIGGER
создаёт новый триггер, если триггер с указанным именем не существует, в противном случае оператор RECREATE TRIGGER
попытается удалить его и создать новый.
RECREATE 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