Oracle 12cでテーブルの主キー (primary key)を取得する
環境
Oracle 12c Windows Server 2012 R2 A5:SQL Mk-2
書式
SELECT 別名1.TABLE_NAME, 別名1.COLUMN_NAME FROM USER_CONS_COLUMNS 別名1 INNER JOIN USER_CONSTRAINTS 別名2 ON 別名1.CONSTRAINT_NAME = 別名2.CONSTRAINT_NAME WHERE 別名2.TABLE_NAME = 'テーブル名' AND 別名2.CONSTRAINT_TYPE = 'P' ORDER BY 別名1.POSITION;
使用例
SELECT KD.TABLE_NAME, KD.COLUMN_NAME FROM USER_CONS_COLUMNS KD INNER JOIN USER_CONSTRAINTS CFT ON KD.CONSTRAINT_NAME = CFT.CONSTRAINT_NAME WHERE CFT.TABLE_NAME = 'NEWS_TBL' AND CFT.CONSTRAINT_TYPE = 'P' ORDER BY KD.POSITION;
実行結果
TABLE_NAME COLUMN_NAME NEWS_TBL ID NEWS_TBL TYPE