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