show errors SQL*Plus 命令默认报告最后创建的 PL/SQL 对象的错误。要显示视图的错误,您必须指定它:
SQL> create or replace force view someview as select * from nosuchtable;
Warning: View created with compilation errors.
SQL> show errors
No errors.
SQL> show errors view someview
Errors for VIEW SOMEVIEW:
LINE/COL ERROR
---------- --------------------------------------------------------------------
0/0 ORA-00942: table or view does not exist
0/0 ORA-54039: table must have at least one column that is not invisible
或者你可以直接查询user_errors:
SQL> select line, text from user_errors where name = 'SOMEVIEW' order by sequence;
LINE TEXT
---- --------------------------------------------------------------------------------
0 ORA-54039: table must have at least one column that is not invisible
0 ORA-00942: table or view does not exist
如果您确实将其命名为 "view_name"(双引号),那么您需要以完全相同的方式引用它,包括大小写和引号。
show errors view "someview"
select line, text from user_errors where name = 'someview' order by sequence;
或者,尝试创建不带force 选项的视图:
SQL> create or replace view someview as select * from nosuchtable;
create or replace view someview as select * from nosuchtable
*
ERROR at line 1:
ORA-00942: table or view does not exist
或者,在没有 create view 部分的情况下自行测试查询:
SQL> select * from nosuchtable;
select * from nosuchtable
*
ERROR at line 1:
ORA-00942: table or view does not exist