查詢(看)表的主鍵、外來鍵、唯一性約束和索引

QQ1521發表於2017-04-19
--查詢表的所索引(包括索引名,型別,構成列:
SELECT T.*, I.INDEX_TYPE
  FROM USER_IND_COLUMNS T, USER_INDEXES I
 WHERE T.INDEX_NAME = I.INDEX_NAME
   AND T.TABLE_NAME = I.TABLE_NAME
   AND T.TABLE_NAME = 表名
--查詢表的主鍵(包括名稱,構成列:
SELECT CU.*
  FROM USER_CONS_COLUMNS CU, USER_CONSTRAINTS AU
 WHERE CU.CONSTRAINT_NAME = AU.CONSTRAINT_NAME
   AND AU.CONSTRAINT_TYPE = 'P'
   AND AU.TABLE_NAME = 表名
--查詢表的唯一性約束(包括名稱,構成列):
SELECT COLUMN_NAME
  FROM USER_CONS_COLUMNS CU, USER_CONSTRAINTS AU
 WHERE CU.CONSTRAINT_NAME = AU.CONSTRAINT_NAME
   AND AU.CONSTRAINT_TYPE = 'U'
   AND AU.TABLE_NAME = 表名
--查詢表的外來鍵(包括名稱,引用表的表名和對應的鍵名,下面是分成多步查詢:
SELECT *
  FROM USER_CONSTRAINTS C
 WHERE C.CONSTRAINT_TYPE = 'R'
   AND C.TABLE_NAME = 表名
--外來鍵約束的列名:
SELECT * FROM USER_CONS_COLUMNS CL WHERE CL.CONSTRAINT_NAME = 外來鍵名稱;
SELECT *
  FROM USER_CONSTRAINTS T
 WHERE T.CONSTRAINT_NAME = 'FK_VATINFO_GGRIS';
--引用表的鍵的列名:
SELECT *
  FROM USER_CONS_COLUMNS CL
 WHERE CL.CONSTRAINT_NAME = 外來鍵引用表的鍵名
--查詢表的所列及其屬性:
SELECT T.*, C.COMMENTS
  FROM USER_TAB_COLUMNS T, USER_COL_COMMENTS C
 WHERE T.TABLE_NAME = C.TABLE_NAME
   AND T.COLUMN_NAME = C.COLUMN_NAME
   AND T.TABLE_NAME = 表名

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30488948/viewspace-2137574/,如需轉載,請註明出處,否則將追究法律責任。

相關文章