С помощью статического SQL нельзя ссылаться на объекты, которые не существуют, когда код компилируется.Вы ничего не можете с этим поделать.
Вам потребуется изменить код, чтобы использовать динамический SQL для ссылки на любой объект, созданный во время выполнения.Вы, вероятно, можете использовать EXECUTE IMMEDIATE
, то есть
EXECUTE IMMEDIATE
'SELECT COUNT(*) FROM new_mv_name'
INTO l_cnt;
вместо
SELECT COUNT(*)
INTO l_cnt
FROM new_mv_name;
При этом, однако, я был бы крайне сомнителен в реализации PL / SQL, которая требовала создания любогоновые таблицы и материализованные представления во время выполнения.Это почти всегда ошибка в Oracle.Зачем вам нужно создавать новые объекты во время выполнения?