У меня нет рабочего примера под рукой, но вы можете довольно легко запустить DDL с помощью execute immediate
.
Если ваш DDL> 32K, а вы на 11g, просто используйте clobхранить DDL.Боль начинается с> 32 К и 10 г или ниже.Там вам нужно будет использовать DBMS_SQL.parse и передать свой DDL в качестве массива.
Чтобы показать ошибки компиляции, вы можете сначала перехватить любые исключения, выданные при запуске DDL.Затем запросите «ALL_ERRORS», чтобы найти подробные сообщения компилятора.