制約の情報を参照するには、
CONSTRAINTSデータディクショナリビューを参照します。
CONSTRAINTSデータディクショナリの種類
CONSTRAINTSデータディクショナリビューには以下3種類があります。
DBA_CONSTRAINTS | 全てのCONSTRAINTS情報を対象とする ※権限が必要 |
---|---|
ALL_CONSTRAINTS | ログインユーザが参照可能な制約を対象とする |
USER_CONSTRAINTS | ログインユーザが保持する制約を対象とする |
CONSTRAINTSデータディクショナリの定義
CONSTRAINTSデータディクショナリの定義です。
(DBA_/ALL_/USER_ の違いは、OWNER列のありなしのみです。)
列名 | 型 | メモ |
---|---|---|
OWNER | VARCHAR2(30) | 所有者 ※DBA/ALLのみ |
CONSTRAINT_NAME | VARCHAR2(30) | 制約名 |
CONSTRAINT_TYPE | VARCHAR2(1) | 制約タイプ P:主キー制約 U:一意制約 C:チェック制約 R:参照整合性制約 V:ビューでのチェック・オプション付き O:ビューで読取り専用 H:ハッシュ式 F:REF列を含む S:サプリメンタル・ロギング |
TABLE_NAME | VARCHAR2(30) | 対応する表名(ビュー名) |
SEARCH_CONDITION | LONG | |
R_OWNER | VARCHAR2(30) | |
R_CONSTRAINT_NAME | VARCHAR2(30) | |
DELETE_RULE | VARCHAR2(9) | |
STATUS | VARCHAR2(8) | 制約の施行状態 ENABLED/DISABLED |
DEFERRABLE | VARCHAR2(14) | |
DEFERRED | VARCHAR2(9) | |
VALIDATED | VARCHAR2(13) | |
GENERATED | VARCHAR2(14) | |
BAD | VARCHAR2(3) | |
RELY | VARCHAR2(4) | |
LAST_CHANGE | DATE | 制約が最後に変更された日時 |
INDEX_OWNER | VARCHAR2(30) | INDEXの所有者 |
INDEX_NAME | VARCHAR2(30) | INDEXの名称 ※主キー制約 or 一意制約の場合のみ表示 |
INVALID | VARCHAR2(7) | 制約の有効無効 有効:(NULL) 無効:INVALID |
VIEW_RELATED | VARCHAR2(14) |
サンプル
CONSTRAINTSデータディクショナリビューを検索するサンプルです。
例)自身が参照できる制約名の一覧を取得する
1 2 |
SELECT CONSTRAINT_NAME, CONSTRAINT_TYPE FROM ALL_CONSTRAINTS; |
メモ
- 制約名を検索条件とする場合、必ず大文字で指定してください。