Пространство имён DDL_TRIGGER
Использование пространства имён DDL_TRIGGER допустимо, только во время работы DDL триггера.Его использование также допустимо в хранимых процедурах и функциях, вызванных триггерами DDL.
Контекст DDL_TRIGGER работает как стек.Перед возбуждением DDL триггера, значения, относящиеся к выполняемой команде, помещаются в этот стек.После завершения работы триггера значения выталкиваются.Таким образом в случае каскадных DDL операторов, когда каждая пользовательская DDL команда возбуждает DDL триггер, и этот триггер запускает другие DDL команды, с помощью EXECUTE STATEMENT, значения переменных в пространстве имён DDL_TRIGGER будут соответствовать команде, которая вызвала последний DDL триггер в стеке вызовов.
DDL_TRIGGEREVENT_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
|
Ещё раз обратите внимание на то, что пространства имён и имена переменных регистрочувствительны, должны быть не пустыми строками, и заключены в кавычки! |