DDL внутри кода PL / SQL является скорее исключением, чем реальной потребностью. Анализ может рассматриваться как проверка структуры, которая теряется, если ваша структура изменяется при выполнении. Процедуры предназначены для повторного анализа других объектов (таблиц или другого кода pl / sql, представлений и т. Д.). Каждый раз, когда изменяется объект, он должен быть перекомпилирован. Таким образом, создание разобранного кода чего-либо, кроме структуры изменений, не может быть проверено и, как таковое, скомпилировано. Рассмотреть случай
DROP TABLE T1;
Во время синтаксического анализа таблица будет найдена и процедура успешно скомпилирована, но при первом выполнении таблица удаляется, и ваш код больше не является допустимым (в следующий раз DROP TABLE приведет к ошибке). Точно так же любое изменение в таблице DDL может привести к необходимости перекомпиляции, что лишает вас преимущества разбора кода.