2016-05-15 54 views
0

我的任務是查找關係表的名稱及其屬性的名稱,屬性的數據類型,NULL/NOT NULL約束和我的帳戶擁有的所有表的列ID 。我該如何去做呢? 我都試過了,如何使用系統目錄視圖

SELECT * FROM information_schema.SCHEMATA S; 

,但得到

ERROR at line 1: 
ORA-00942: table or view does not exist 

也試過

SELECT table_name, 
column_name, 
data_type, 
data_length "LENGTH", 
data_precision "PRECISION", 
FROM user_tab_columns WHERE table_name = 'PART' 
ORDER BY user_tab_columns.table_name, column_name; 
FROM user_tab_columns WHERE table_name = 'PART' 
* 
ERROR at line 6: 
ORA-00936: missing expression 

誰能給我一個想法,我應該怎麼辦?

回答

0

請嘗試

SELECT * 
     FROM information_schema.columns 
0

你的第二製劑基本上是正確的。你的錯誤是因爲FROM前的逗號:

SELECT table_name, column_name, data_type, data_length as "LENGTH", 
     data_precision as "PRECISION" 
------------------------------------^ 
FROM user_tab_columns 
WHERE table_name = 'PART' 
ORDER BY table_name, column_name; 

INFORMATION_SCHEMA意見是在許多數據庫中可用的元數據ANSI標準的意見。但是,Oracle不支持它們。因此,您需要使用Oracle的元數據視圖和表格來達到此目的。