Тело триггера
После ключевого слова AS
следует тело триггера.
После ключевого слова AS
следует тело триггера.
В необязательной секции <declarations>
описаны локальные переменные триггера, именованные курсоры и подпрограммы (подпроцедуры и подфункции). Подробности вы можете посмотреть в главе “Процедурный язык PSQL” в разделахDECLARE VARIABLE иDECLARE CURSOR,DECLARE PROCEDURE,DECLARE FUNCTION.
После необязательной секции деклараций обязательно следует составной оператор.Составной оператор состоит из одного или нескольких PSQL операторов, заключенных между ключевыми словами BEGIN и END.Составной оператор может содержать один или несколько других составных операторов.Вложенность ограничена 512 уровнями.Любой из BEGIN … END
блоков может быть пустым, в том числе и главный блок.
Триггер может быть расположена во внешнем модуле.В этом случае вместо тела триггера указывается место его расположения во внешнем модуле с помощью предложения EXTERNAL NAME
.Аргументом этого предложения является строка, в которой через разделитель указано имя внешнего модуля, имя процедуры внутри модуля и определённая пользователем информация.В предложении ENGINE
указывается имя движка для обработки подключения внешних модулей.В Firebird для работы с внешними модулями используется движок UDR.После ключевого слова AS может быть указан строковый литерал — "тело" внешнего триггера, оно может быть использовано внешним модулем для различных целей.
DML триггеры могут создать:
Владелец таблицы (представления);
Пользователи с привилегией ALTER ANY {TABLE | VIEW}
.