以下查詢整合 USER_TAB_COLS、USER_COL_COMMENTS、USER_TAB_COMMENTS、USER_CONS_COLUMNS 四個資料字典視圖,一次取得指定資料表的完整結構描述,包含欄位序號、名稱、註解、是否主鍵、資料型態、長度、精度、小數位、是否可空等資訊。
SELECT
CASE WHEN t.COLUMN_ID = 1 THEN t.TABLE_NAME END AS TABLE_NAME,
CASE WHEN t.COLUMN_ID = 1 THEN t2.COMMENTS END AS TABLE_COMMENTS,
t.COLUMN_ID,
t.COLUMN_NAME,
t1.COMMENTS AS COLUMN_COMMENTS,
CASE WHEN t3.COLUMN_NAME IS NOT NULL THEN 'Y' ELSE NULL END AS PRIMARY_KEY,
t.DATA_TYPE,
t.DATA_LENGTH,
t.DATA_PRECISION,
t.DATA_SCALE,
t.NULLABLE
FROM USER_TAB_COLS t
JOIN USER_COL_COMMENTS t1
ON t.TABLE_NAME = t1.TABLE_NAME
AND t.COLUMN_NAME = t1.COLUMN_NAME
JOIN USER_TAB_COMMENTS t2
ON t.TABLE_NAME = t2.TABLE_NAME
LEFT JOIN USER_CONS_COLUMNS t3
ON t.TABLE_NAME = t3.TABLE_NAME
AND t.COLUMN_NAME = t3.COLUMN_NAME
AND t3.POSITION > 0
WHERE t.TABLE_NAME = 'S_SALARY'
ORDER BY t.COLUMN_ID;
TABLE_NAME / TABLE_COMMENTS:僅在第一欄顯示,避免重複COLUMN_ID:欄位順序PRIMARY_KEY:'Y' 表示為主鍵欄位DATA_TYPE / DATA_LENGTH / DATA_PRECISION / DATA_SCALE:完整型態定義NULLABLE:'Y' 可空、'N' 不可空提示:若需查詢所有使用者物件,將視圖前綴改為 ALL_ 或 DBA_ 並具備相應權限。