首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 資料庫基礎

Oracle 資料字典查詢大全:索引、主鍵、外鍵與欄位屬性一鍵獲取

     編輯:Oracle 資料庫基礎

一、查詢表的所有索引資訊

包含索引名稱、類型、構成欄位:

SELECT t.*, i.index_type
FROM user_ind_columns t
JOIN user_indexes i ON t.index_name = i.index_name 
                   AND t.table_name = i.table_name
WHERE t.table_name = 'YOUR_TABLE_NAME';

二、查詢主鍵約束與構成欄位

SELECT cu.*
FROM user_cons_columns cu
JOIN user_constraints au ON cu.constraint_name = au.constraint_name
WHERE au.constraint_type = 'P'
  AND au.table_name = 'YOUR_TABLE_NAME';

三、查詢唯一性約束

SELECT column_name
FROM user_cons_columns cu
JOIN user_constraints au ON cu.constraint_name = au.constraint_name
WHERE au.constraint_type = 'U'
  AND au.table_name = 'YOUR_TABLE_NAME';

四、查詢外鍵關聯關係(分步驟)

  1. 找出表的外鍵約束:
    SELECT * FROM user_constraints c
    WHERE c.constraint_type = 'R'
      AND c.table_name = 'YOUR_TABLE_NAME';
  2. 查詢外鍵欄位:
    SELECT * FROM user_cons_columns cl
    WHERE cl.constraint_name = 'FK_CONSTRAINT_NAME';
  3. 查詢被引用表的鍵欄位:
    SELECT * FROM user_cons_columns cl
    WHERE cl.constraint_name = 'REFERENCED_PK_NAME';

五、查詢表所有欄位與註釋

SELECT t.*, c.COMMENTS
FROM user_tab_columns t
JOIN user_col_comments c ON t.table_name = c.table_name
                        AND t.column_name = c.column_name
WHERE t.table_name = 'YOUR_TABLE_NAME';

實用技巧

  • 將上述查詢封裝為 PL/SQL 程序或 View,參數化表名,實現通用元資料查詢工具
  • 搭配 DBMS_METADATA.GET_DDL 可直接生成完整 DDL 腳本
  • 定期匯出資料字典資訊,作為架構變更審計依據
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved