ORA-00942問題處理

stonebox1122發表於2017-05-18
開發的同事反饋,建立了表,且在PL/SQL Developer中可以看到該表,但是執行查詢操作卻報“ORA-00942: table or view does not exist”錯誤。結果發現原因是建立表的指令碼中表名使用雙引號引起來了,而查詢的時候也是需要雙引號引起來才行的。

測試如下:
SQL> create table test1(id number);

Table created.

SQL> select * from test1;

no rows selected

SQL> select * from TEST1;

no rows selected

SQL> select * from TEst1;

no rows selected

可以看到,建立表的時候不使用雙引號引起來,則表名是不區分大小寫。

SQL> create table "test2"(id number);

Table created.

SQL> select * from test2;
select * from test2
              *
ERROR at line 1:
ORA-00942: table or view does not exist


SQL> select * from "TEST2";
select * from "TEST2"
              *
ERROR at line 1:
ORA-00942: table or view does not exist


SQL> select * from "test2";

no rows selected

可以看到,建立表的時候使用了雙引號引起來,則表名是區分大小寫的,且在使用的時候必須使用雙引號。
有的工具,如PowerDesigner,生成的建表語句預設帶有雙引號,故建議為了後續使用方便,需要將雙引號去掉再執行。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28536251/viewspace-2139303/,如需轉載,請註明出處,否則將追究法律責任。

相關文章