制約の情報を参照するには、
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; |
メモ
- 制約名を検索条件とする場合、必ず大文字で指定してください。