User
хотя мало знаний никогда не бывает
Почему вы делаете SELECT replace(dbms_metadata.get_ddl('TABLE', primary_table_name), primary_table_name, new_table_name) INTO ddl_query FROM dual;
Небольшая ремарка: наверное все-таки «много знаний никогда не бывает»
На самом деле на автомате скорее всего написал из-за обилия подобных конструкций в других местах