Я подозреваю, что имя вашего представления содержит недопустимый символ, но когда оно было создано, оно было заключено в двойные кавычки («идентификатор в кавычках» в соответствии с документами), поэтому оно было разрешено;и при запросе вы опускаете двойные кавычки.Что-то вроде:
create view "MY~VIEW" as select * from dual;
View created.
select * from MY~VIEW;
*
Error at line 1:
ORA-00911: invalid character
Но это работает:
select * from "MY~VIEW";
D
-
X
Конечно, реальный символ может быть чем-то другим, но ошибка (по крайней мере, в SQL * Plus) помогает выделить этос *
.Ссылка SQL содержит раздел по именованию объектов ;Я предполагаю, что вы нарушаете правило 7.
Заключение имен объектов в двойные кавычки не считается хорошей практикой (хотя я уверен, что мнения разные), обычно потому, что это вызывает проблемы с различиями в регистре, но можетдругие тонкие эффекты, подобные этому.Гораздо проще оставить кавычки, позволить Oracle создавать все ваши объекты с именами в верхнем регистре и выявлять любые проблемы во время создания объекта.