2014-03-01 55 views
1

這是發生了什麼:SQL表不存在

SQL> select table_name from user_tables; 

TABLE_NAME 
------------------------------ 
Discount 
Taxes 
Customer 
Vehicles 
WorkOrder 
Task 
TaskPart 
Employee 
EmplyeeTask 
WorkOrderPart 
InvoiceDetails 

TABLE_NAME 
------------------------------ 
Invoice 
Parts 
InvoicePrimaries 

14 rows selected. 

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


SQL> 

我無法訪問該表。我可以使它在C#中工作得很好,但在Oracle GUI和SQL命令行中,我無法選擇表。 (這是一個使用Oracle Express的個人自制數據庫)

回答

3

因爲在user_tables中,表名用大寫和小寫字母表示。我假定您創建使用這些東西像表

create table "Discount" ... 

一般Oracle數據庫,不雙配額搜查大寫節省了大寫字母和表名錶名。因此,您的

select * from Discount 

將搜索名爲DISCOUNT而不是折扣的表。你必須明確地告訴oracle,你想保留你的表名的字母大小寫。這也是通過雙重配額完成的。所以

select * from "Discount" 

應該工作。

+0

就是這樣!非常感謝! – user3169698