$$$TRIG
Назначение
Системная таблица $$$TRIG
предназначена для хранения информации о триггерах БД.
Схема таблицы
Схема таблицы $$$TRIG
приведена в таблице 55.
Имя столбца | Тип данных | Содержание |
---|---|---|
$$$ID | integer |
Системный идентификатор триггера. |
$$$OWNER | integer |
Идентификатор владельца (создателя) триггера. |
$$$TAB | integer |
Для триггеров, настроенных на модификацию данных: системный идентификатор таблицы, для которой создан триггер. Для триггеров, настроенных на системные события: либо системный идентификатор пользователя, для которого создан триггер (значение поля S31 из таблицы $$$USR), либо значение -1, которое означает FOR DATABASE. |
$$$PROC | integer |
Системный идентификатор хранимой процедуры, содержащей текст триггера. |
$$$NAME | char(66) |
Имя триггера. |
$$$INFO | byte(320) |
Описание триггера. |
Структура записи
Структура записи TRIG
приведена в таблице 56.
Поле | Тип | Содержание |
---|---|---|
NmrTrig |
L_LONG |
Системный идентификатор триггера. Соответствует столбцу $$$ID. |
User_Id |
L_LONG |
Системный идентификатор владельца триггера. Поле S31 из таблицы $$$USR. Соответствует столбцу $$$OWNER. |
Tab_Id |
L_LONG |
Системный идентификатор таблицы, для которой создан триггер. Поле S11 из таблицы $$$SYSRL. Соответствует столбцу $$$TAB. Для триггеров, настроенных на системные события: либо системный идентификатор пользователя, для которого создан триггер (значение поля S31 из таблицы $$$USR), либо значение -1, которое означает FOR DATABASE. |
Proc_Id |
L_LONG |
Системный идентификатор хранимой процедуры, содержащей текст триггера – ссылка на поле ID из таблицы $$$PROC. Соответствует столбцу $$$PROC. |
NamTrig[66] |
L_CHAR |
Имя триггера. Соответствует столбцу $$$NAME. |
OldRowName[66] |
L_CHAR |
Псевдоним для старой записи. Только для триггеров на каждую строку. Если псевдоним не задан, используется имя OLD. Это поле и все остальные поля, идущие ниже, соответствуют столбцу $$$INFO. ПримечаниеДля триггеров, настроенных на системные события, не используется. |
NewRowName[66] |
L_CHAR |
Псевдоним для новой записи. Только для триггеров на каждую строку. Если псевдоним не задан, используется имя NEW. ПримечаниеДля триггеров, настроенных на системные события, не используется. |
OldTableName[66] |
L_CHAR |
Псевдоним для старого названия таблицы. Только для триггеров на всю таблицу. Если псевдоним не задан, используется имя OLD. Только для триггеров на всю таблицу. Если псевдоним не задан, используется имя NEW. ПримечаниеДля триггеров, настроенных на системные события, не используется. |
NewTableName[66] |
L_CHAR |
Псевдоним для нового названия таблицы. В данной версии не используется. ПримечаниеДля триггеров, настроенных на системные события, не используется. |
Time |
L_BYTE |
Момент запуска триггера:
|
Action |
L_BYTE |
Маска операции триггера:
|
ForEach |
L_BYTE |
Режим запуска триггера:
ПримечаниеДля триггеров, настроенных на системные события, не используется. |
State |
L_BYTE |
Текущее состояние триггера:
|
Order |
L_WORD |
Очередность запуска данного триггера в списке идентичных триггеров. |
ColMask[32] |
L_BYTE |
Маска столбцов, при обновлении которых должен срабатывать триггер. Только для триггеров на всю таблицу. Если псевдоним не задан, используется имя OLD. ПримечаниеДля триггеров, настроенных на системные события, не используется. |
Info[16] |
L_BYTE |
Первый байт этого массива используется при установках audit для данного триггера. |
Rest[2] |
L_BYTE |
Не используется. |