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
.