Переменные доступные в пространстве имён DDL_TRIGGER
Во время работы DDL триггера доступно пространство имён DDL_TRIGGER
для использования в функции RDB$GET_CONTEXT
.Его использование также допустимо в хранимых процедурах и функциях, вызванных DDL триггерами.
Контекст DDL_TRIGGER
работает как стек.Перед возбуждением DDL триггера, значения, относящиеся к выполняемой команде, помещаются в этот стек.После завершения работы триггера значения выталкиваются.Таким образом, в случае каскадных DDL операторов, когда каждая пользовательская DDL команда возбуждает DDL триггер, и этот триггер запускает другие DDL команды, с помощью EXECUTE STATEMENT
, значения переменных в пространстве имен DDL_TRIGGER будут соответствовать команде, которая вызвала последний DDL триггер в стеке вызовов.
-
OBJECT_TYPE — тип объекта (TABLE, VIEW и д.р.)
-
DDL_EVENT — имя события (
<ddl event item>
),где
<ddl event item>
=EVENT_TYPE || ' ' || OBJECT_TYPE
-
OBJECT_NAME — имя объекта метаданных
-
SQL_TEXT — текст SQL запроса