RDB$TRIGGERS
Описания триггеров.
| Наименование столбца | Тип данных | Описание |
|---|---|---|
|
|
Имя триггера. |
|
|
Имя таблицы или представления, для которого используется триггер.Если триггер применяется не к событию таблицы, а к событию базыданных, то в этом поле находится |
|
|
Последовательность (позиция) триггера. Ноль обычно означает, чтопоследовательность не задана. |
|
|
Событие, на которое вызывается триггер: 1 — Описание событий DDL триггеров смотри ниже. |
|
|
Хранит исходный код триггера в PSQL. |
|
|
Хранит триггер в двоичном коде BLR. |
|
|
Текст примечания триггера. |
|
|
Указывает, является ли триггер в настоящее время неактивным (1)или активным (0). |
|
|
Признак — триггер определён пользователем (0) или системой (1 или выше). |
|
|
Внутреннее использование. |
|
|
Указывает, остаётся ли текст триггера корректным после последнегоизменения триггера при помощи оператора |
|
|
Содержит отладочную информацию о переменных, используемых втриггере. |
|
|
Имя движка для использования внешних триггеров. ОбычноUDR. |
|
|
Имя точки входа в библиотеке, где находится этот триггер. |
|
|
С какими правами выполняется триггер:
|
Для DDL триггеров тип триггера (RDB$TRIGGER_TYPE) получается путём побитового ИЛИ над фазой события (0 - BEFORE, 1 - AFTER) и всех перечисленных типов событий:
-
CREATE TABLE—0x0000000000004002; -
ALTER TABLE—0x0000000000004004; -
DROP TABLE—0x0000000000004008; -
CREATE PROCEDURE—0x0000000000004010; -
ALTER PROCEDURE—0x0000000000004020; -
DROP PROCEDURE—0x0000000000004040; -
CREATE FUNCTION—0x0000000000004080; -
ALTER FUNCTION—0x0000000000004100; -
DROP FUNCTION—0x0000000000004200; -
CREATE TRIGGER—0x0000000000004400; -
ALTER TRIGGER—0x0000000000004800; -
DROP TRIGGER—0x0000000000005000; -
CREATE EXCEPTION—0x0000000000014000; -
ALTER EXCEPTION—0x0000000000024000; -
DROP EXCEPTION—0x0000000000044000; -
CREATE VIEW—0x0000000000084000; -
ALTER VIEW—0x0000000000104000; -
DROP VIEW—0x0000000000204000; -
CREATE DOMAIN—0x0000000000404000; -
ALTER DOMAIN—0x0000000000804000; -
DROP DOMAIN—0x0000000001004000; -
CREATE ROLE—0x0000000002004000; -
ALTER ROLE—0x0000000004004000; -
DROP ROLE—0x0000000008004000; -
CREATE INDEX—0x0000000010004000; -
ALTER INDEX—0x0000000020004000; -
DROP INDEX—0x0000000040004000; -
CREATE SEQUENCE—0x0000000080004000; -
ALTER SEQUENCE—0x0000000100004000; -
DROP SEQUENCE—0x0000000200004000; -
CREATE USER—0x0000000400004000; -
ALTER USER—0x0000000800004000; -
DROP USER—0x0000001000004000; -
CREATE COLLATION—0x0000002000004000; -
DROP COLLATION—0x0000004000004000; -
ALTER CHARACTER SET—0x0000008000004000; -
CREATE PACKAGE—0x0000010000004000; -
ALTER PACKAGE—0x0000020000004000; -
DROP PACKAGE—0x0000040000004000; -
CREATE PACKAGE BODY—0x0000080000004000; -
DROP PACKAGE BODY—0x0000100000004000; -
CREATE MAPPING—0x0000200000004000; -
ALTER MAPPING—0x0000400000004000; -
DROP MAPPING—0x0000800000004000; -
ANY DDL STATEMENT—0x7FFFFFFFFFFFDFFE.
Например, триггер
BEFORE CREATE PROCEDURE OR CREATE FUNCTION будет иметь тип 0x0000000000004090,AFTER CREATE PROCEDURE OR CREATE FUNCTION — 0x0000000000004091,BEFORE DROP FUNCTION OR DROP EXCEPTION — 0x00000000000044200,AFTER DROP FUNCTION OR DROP EXCEPTION — 0x00000000000044201,BEFORE DROP TRIGGER OR DROP DOMAIN — 0x00000000001005000,AFTER DROP TRIGGER OR DROP DOMAIN — 0x00000000001005001.