制約一覧

SQLExceptionのエラーメッセージが分かりにくいので。


select
A.OWNER "表の所有者",
A.TABLE_NAME "表の名前",
B.COLUMN_NAME "列の名前",
A.CONSTRAINT_NAME "制約の名前",
decode(
A.CONSTRAINT_TYPE,
'P', 'PRIMARY KEY制約',
'U', 'UNIQUE制約',
'C', 'CHECK制約、NOT NULL制約',
'R', '参照整合性制約'
) "制約のタイプ",
A.STATUS "制約の状態",
C.TABLE_NAME "親表の名前",
D.COLUMN_NAME "親表の列の名前",
A.SEARCH_CONDITION "CHECK制約の検査条件"
from
USER_CONSTRAINTS A,
USER_CONS_COLUMNS B,
USER_CONSTRAINTS C,
USER_CONS_COLUMNS D
where
A.OWNER = B.OWNER
and A.CONSTRAINT_NAME = B.CONSTRAINT_NAME
and A.R_OWNER = C.OWNER(+)
and A.R_CONSTRAINT_NAME = C.CONSTRAINT_NAME(+)
and C.OWNER = D.OWNER(+)
and C.CONSTRAINT_NAME = D.CONSTRAINT_NAME(+)
order by
A.OWNER,
A.TABLE_NAME,
B.COLUMN_NAME,
A.CONSTRAINT_NAME,
A.CONSTRAINT_TYPE
…一部、行が重複するな…