統計用戶下所有表,字段信息

統計用戶下所有的表,及其字段,並標註出其相應的主鍵列有哪些。
主要注意的是,統計主鍵時,需要先進行一步篩選,否則左關聯時存在重複問題。

SELECT
--表
T.TABLE_NAME,
--表註釋
TC.COMMENTS AS TAB_COMMENT,
--字段
C.COLUMN_NAME,
--字段註釋
CC.COMMENTS AS COL_COMMENT,
--是否爲主鍵
DECODE(CON.CONSTRAINT_TYPE, 'P', '是', '否') AS PK_FLAG
FROM   USER_TABLES T
LEFT   JOIN USER_TAB_COMMENTS TC
ON     T.TABLE_NAME = TC.TABLE_NAME
LEFT   JOIN USER_TAB_COLUMNS C
ON     T.TABLE_NAME = C.TABLE_NAME
LEFT   JOIN USER_COL_COMMENTS CC
ON     C.TABLE_NAME = CC.TABLE_NAME
             AND C.COLUMN_NAME = CC.COLUMN_NAME
LEFT   JOIN (SELECT CON.TABLE_NAME,
                                        CON.COLUMN_NAME,
                                        PK.CONSTRAINT_TYPE
                         FROM   USER_CONS_COLUMNS CON
                         INNER  JOIN USER_CONSTRAINTS PK
                         ON     CON.TABLE_NAME = PK.TABLE_NAME
                                        AND CON.CONSTRAINT_NAME = PK.CONSTRAINT_NAME
                                        AND PK.CONSTRAINT_TYPE = 'P') CON
ON     C.TABLE_NAME = CON.TABLE_NAME
             AND C.COLUMN_NAME = CON.COLUMN_NAME;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章