DBA_CONS_COLUMNSを参照する事で構成カラムが分かります
以下はSOONIスキーマテーブルのプライマリキー制約を構成するカラム一覧を出力しています。DBA_RECYCLEBINと結合しているのは既に削除されているテーブルは表示対象外としたいためです。
プライマリキー構成項目一覧出力SQL
select c.OWNER ,c.TABLE_NAME ,c.CONSTRAINT_NAME --,c.CONSTRAINT_TYPE ,c.INDEX_NAME ,e.POSITION ,e.COLUMN_NAME from DBA_CONSTRAINTS c inner join DBA_CONS_COLUMNS e on c.OWNER = e.OWNER and c.CONSTRAINT_NAME = e.CONSTRAINT_NAME where 1=1 and c.OWNER = 'SOONI' and c.CONSTRAINT_TYPE = 'P' and not exists ( select 'X' from DBA_RECYCLEBIN r where c.OWNER = r.OWNER and c.TABLE_NAME = r.OBJECT_NAME) order by c.OWNER,c.TABLE_NAME,c.constraint_name,e.position ;
出力例
OWNER TABLE_NAME CONSTRAINT_NAME INDEX_NAME POSITION COLUMN_NAME
---------- ------------------ -------------------- ------------------ ---------- --------------------
SOONI AAA AAA_PK AAA_PK 1 C1
SOONI CABLE SYS_C0011405 SYS_C0011405 1 ID
SOONI CABLE SYS_C0011405 SYS_C0011405 2 TEST_ITEM
SOONI CUST SYS_C0010913 SYS_C0010913 1 C_ID
SOONI EX003 PK_EX003 PK_EX003 1 C1
SOONI EX005 PK_EX005 PK_EX005 1 C1
SOONI EX006 PK_EX006 PK_EX006 1 C1
SOONI EX01 PK_EX01 IDX_EX01 1 SID
SOONI EX901 SYS_C0011373 SYS_C0011373 1 SID
SOONI MST_ADDRESS PK_MST_ADDRESS PK_MST_ADDRESS 1 OAZA_TOWN_CHOME_CODE
SOONI OY_PREFECTURE PK_OY_PREFECTURE PK_OY_PREFECTURE 1 PREFID
SOONI OY_REGION PK_REGION PK_REGION 1 REGION_ID
SOONI RPEX01 RPEX01_PK RPEX01_PK 1 SID
SOONI SPEC SYS_C0011407 SYS_C0011407 1 TEST_ITEM
SOONI TABLE02 SYS_C0012553 SYS_C0012553 1 ID
SOONI TABLE03 TABLE03_PK TABLE03_PK 1 ID
SOONI TABLE04 TABLE04_PK TABLE04_PK 1 NAME
SOONI TABLE05 TABLE05_PK TABLE05_PK 1 NAME
SOONI TABLE05 TABLE05_PK TABLE05_PK 2 FURIGANA
SOONI TBL035 SYS_C0012588 SYS_C0012588 1 LNO
SOONI TBL37 PK_TBL37 PK_TBL37 1 AUTO_ID
21行が選択されました。
SQL>
SQL*Plus用
SET LIN 200 SET PAGES 100 COLUMN OWNER FORMAT A10 COLUMN TABLE_NAME FORMAT A18 COLUMN CONSTRAINT_NAME FORMAT A20 COLUMN INDEX_NAME FORMAT A18 COLUMN COLUMN_NAME FORMAT A20