ヘッダーをスキップ
Oracle Rdb SQLリファレンス・マニュアル
リリース7.2
E06178-01
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

I.6.19 RDB$QUERY_OUTLINES

RDB$QUERY_OUTLINESシステム表には、最適化の前に既知の問合せアウトラインを取得するため、オプティマイザで使用される問合せアウトラインの定義が格納されます。次の表は、RDB$QUERY_OUTLINESシステム表の列に関する情報を示しています。

列名 データ型 概要説明
RDB$OUTLINE_NAME char(31) 問合せアウトラインの名前。
RDB$BLR_ID char(16) BLRハッシュ識別子。この識別子は、問合せアウトラインの毎作成時にオプティマイザによって生成される。
RDB$MODE integer 問合せモード(MANDATORYまたはOPTIONAL)。
RDB$FLAGS integer フラグ。
RDB$DESCRIPTION byte varying このアウトラインに関するユーザー指定の説明。
RDB$OUTLINE_BLR byte varying コンパイルされた問合せアウトライン。
RDB$SECURITY_CLASS char(20) 今後の使用のため予約。
RDB$CREATED date vms アウトラインの作成時に設定される。
RDB$LAST_ALTERED date vms 今後の使用のため予約。
RDB$OUTLINE_CREATOR char(31) このアウトラインの作成者。

RDB$FLAGSは、RDB$QUERY_OUTLINESシステム表のフラグを示します。

ビット位置 説明
0 このアウトラインは、必要な表や索引の削除などのアクションによって無効化されている。

I.6.20 RDB$RELATION_CONSTRAINTS

RDB$RELATION_CONSTRAINTSシステム表では、表固有のすべての制約をリストします。次の表は、RDB$RELATION_CONSTRAINTSシステム表の列に関する情報を示しています。

列名 データ型 概要説明
RDB$CONSTRAINT_MATCH_TYPE integer 表固有の参照整合性制約に関連付けられている一致タイプ。この列は、今後の使用のために予約されている。値は常に0。
RDB$CONSTRAINT_NAME char(31) RDB$RELATION_NAMEで指定した表で定義されている制約の名前。

この列の値は、RDB$CONSTRAINTSシステム表の同列の値と同じ。

RDB$CONSTRAINT_SOURCE byte varying このテキスト文字列には、表定義の制約のソースが含まれる。
RDB$CONSTRAINT_TYPE integer 定義された表固有の制約のタイプ。この値は、RDB$CONSTRAINT_TYPEのセクションに示す。
RDB$ERASE_ACTION integer 指定された参照整合性消去アクションのタイプ。この列は、今後の使用のために予約されている。値は常に0。
RDB$FIELD_NAME char(31) 列レベルで表固有の制約が定義されている列の名前。この列は、表レベルの制約では空白になる。
RDB$FLAGS integer フラグ。
RDB$MODIFY_ACTION integer 指定された参照整合性変更アクションのタイプ。この列は、今後の使用のために予約されている。値は常に0。
RDB$REFD_CONSTRAINT_NAME char(31) 参照整合性外部キー制約によって参照される一意キー制約または主キー制約の名前。

制約が参照整合性制約でないか、または参照整合性制約が指定されていない場合、この列はNULLになる。それ以外の場合、この列の値は、RDB$CONSTRAINTSシステム表およびRDB$RELATION_CONSTRAINT_FLDSシステム表の同列の値と同じ。

この列は、外部キーの被参照表名と被参照列名の特定に使用される。

RDB$RELATION_NAME char(31) 指定された制約が定義されている表の名前。この列の値は、RDB$RELATIONSシステム表の同列の値と同じ。
RDB$SECURITY_CLASS char(20) 今後の使用のため予約。

RDB$FLAGSは、RDB$RELATION_CONSTRAINTSシステム表のフラグを示します。

ビット位置 説明
0 一意の値を使用可能にし、NULLを無視するSQL規格のUNIQUE制約。

I.6.20.1 RDB$CONSTRAINT_TYPE

次の表では、RDB$CONSTRAINT_TYPE列の値をリストしています。

記号 意味
1 RDB$K_CON_CONDITION 条件式の制約を必要とする。
2 RDB$K_CON_PRIMARY_KEY 主キー制約。
3 RDB$K_CON_REFERENTIAL 参照(外部キー)制約。
4 RDB$K_CON_UNIQUE 一意の制約。
5   今後の使用のため予約。
6 RDB$K_CON_NOT_NULL NOT NULL(欠落)制約。

I.6.21 RDB$RELATION_CONSTRAINT_FLDS

RDB$RELATION_CONSTRAINT_FLDSシステム表では、表固有の制約の一意キー、主キーまたは外部キーの宣言に関与している列をリストします。

一意キー制約、主キー制約、外部キー制約のすべてまたは一部を表す列ごとに1行が使用されます。

次の表は、RDB$RELATION_CONSTRAINT_FLDSシステム表の列に関する情報を示しています。

列名 データ型 概要説明
RDB$CONSTRAINT_NAME char(31) 指定された列が関与している制約の名前。
RDB$FIELD_NAME char(31) 指定された制約のすべてまたは一部を表す列の名前。この列の値は、RDB$RELATION_FIELDSシステム表に格納されている値と同じ。
RDB$FIELD_POSITION integer 一意キー制約、主キー制約または外部キー制約を宣言する列リスト内で指定された列の序数位置。

列レベルの制約では、常に1つの列のみがリストに存在する。リストの最初の列の値が1であり、2番目の列の値が2になる(以降同様)。

RDB$FLAGS integer 今後の使用のため予約。
RDB$SECURITY_CLASS char(20) 今後の使用のため予約。

I.6.22 RDB$RELATION_FIELDS

RDB$RELATION_FIELDSシステム表には、各表の列ごとに1行が格納されます。次の表は、RDB$RELATION_FIELDSシステム表の列に関する情報を示しています。

列名 データ型 概要説明
RDB$RELATION_NAME char(31) この行によって表される列を含む表の名前。
RDB$FIELD_NAME char(31) 表内のこの行によって表される列の名前。同じRDB$RELATION_NAMEを持つ各RDB$RELATION_FIELDS行は、一意のRDB$FIELD_NAMEを必要とする。
RDB$FIELD_SOURCE char(31) この列を定義付ける(RDB$FIELDS表内のRDB$FIELD_NAME列の)ドメインの名前。
RDB$FIELD_ID integer この行によって表される列の命名のためにBLR内で使用する識別子。Oracle Rdbでは、表内に列が存在するかぎり永続するIDが各列に割り当てられる。
RDB$FIELD_POSITION integer 同じ表内の他の列に対する、この行によって表される列の序数位置。
RDB$QUERY_NAME char(31) この列の問合せの名前。RDB$QUERY_NAMEの値はNULLにできる。
RDB$UPDATE_FLAG integer 列が更新可能かどうかを示す値。

  • 0

    列が更新不可の場合。

  • 1

    列が更新可能な場合。

RDB$QUERY_HEADER byte varying SQLで使用されるこの列の問合せヘッダー。RDB$RELATION_FIELDSの列属性はRDB$FIELDSよりも優先される。

RDB$RELATION_FIELDSに属性値がない場合、SQLではRDB$FIELDSの値が使用される。

RDB$DESCRIPTION byte varying この行の内容に関するユーザー指定の説明。
RDB$VIEW_CONTEXT integer ビュー表では、ビュー列の修飾に使用するコンテキスト変数がこの列によって識別される。

このコンテキスト変数は、ビューを定義する行選択式で定義されている必要がある。このコンテキスト変数は、RDB$RELATIONSのRDB$VIEW_BLR列によって表されるBLRに表示される。

RDB$BASE_FIELD char(31) ビューのコンポーネントとして使用される列のローカル名。この名前は、RDB$VIEW_CONTEXTで識別されるコンテキスト変数によって修飾される。
RDB$DEFAULT_VALUE byte varying STORE句の使用時に列の値が指定されていない場合に、非SQLインタフェースによって使用されるデフォルト値。

これは実際の列値を保持するRDB$MISSING_VALUEとは異なる。RDB$RELATION_FIELDSの列属性は、RDB$FIELDSの属性よりも優先される。

RDB$RELATION_FIELDSに属性値がない場合は、RDB$FIELDSの値が使用される。

RDB$EDIT_STRING VARCHAR(255) 列の印刷時に対話型SQLによって使用される編集文字列。RDB$EDIT_STRINGの値はNULLにできる。
RDB$EXTENSION_PARAMETERS byte varying 今後の使用のため予約。
RDB$ACCESS_CONTROL byte varying 列のアクセス制御リスト。
RDB$DEFAULT_VALUE2 byte varying SQLデフォルト値のBLR。この値は、SQL INSERT文に値が指定されていないときに使用される。
RDBVMS$SECURITY_AUDIT integer RMU Set Auditコマンドで指定されている、データベースに対して監査される権限を示すビット・マスク。
RDBVMS$SECURITY_ALARM integer RMU Set Auditコマンドで指定されている、データベースに対して警告を生成する権限を示すビット・マスク。
RDB$SECURITY_CLASS char(20) 今後の使用のため予約。

I.6.23 RDB$RELATIONS

RDB$RELATIONSシステム表では、データベース内のすべての表とビューの名前を示します。表またはビューごとに1行が使用されます。次の表は、RDB$RELATIONSシステム表の列に関する情報を示しています。

列名 データ型 概要説明
RDB$RELATION_NAME char(31) データベース内の表の名前。RBB$RELATIONS内の各行は、一意のRDB$RELATION_NAMEを必要とする。
RDB$RELATION_ID integer 表を識別するためにBLR内で使用されるID番号。
RDB$STORAGE_ID integer この表のデータが格納されているデータベースの論理領域へのポインタ。
RDB$SYSTEM_FLAG integer 表がシステム表またはユーザー定義表のいずれであるかを示す値。

  • 0

    ユーザー表の場合。

  • 1

    システム表の場合。

RDB$DBKEY_LENGTH integer バイト単位でのデータベース・キーの長さ。表内の行のデータベース・キーは8バイトであり、ビュー行ではnの8倍になり、この場合のnはビューで参照される表の数を示す。

ビューにデータベース・キーがない場合、RDB$DBKEY_LENGTHは0になる。これは、ビューでGROUP BYまたはUNIONが使用されるか統計値が返される場合に発生する。

RDB$MAX_VERSION integer 表定義の現在のバージョン番号。

この値は、表の現在の行書式を決定するRDB$FIELD_VERSIONSのRDB$VERSION列と一致する。

RDB$CARDINALITY bigint 表内の行数(カーディナリティ)。
RDB$FLAGS integer フラグ。
RDB$VIEW_BLR byte varying ビューの行選択に使用される行選択式を記述するBLR。表がビューでない場合は、RDB$VIEW_BLRは使用されない。
RDB$DESCRIPTION byte varying この表またはビューに関するユーザー指定の説明。
RDB$VIEW_SOURCE byte varying ビュー定義におけるユーザーのソース・テキスト。
RDB$ACCESS_CONTROL byte varying 表のアクセス制御ポリシー。
RDB$EXTENSION_PARAMETERS byte varying 今後の使用のため予約。
RDB$CDD_NAME byte varying SQL句のFROM PATHNAMEで指定されている、表定義の基礎となるディクショナリ・エンティティの完全修飾名。
RDBVMS$SECURITY_AUDIT integer RMU Set Auditコマンドで指定されている、表に対して監査される権限を示すビット・マスク。
RDBVMS$SECURITY_ALARM integer RMU Set Auditコマンドで指定されている、表に対して警告を生成する権限を示すビット・マスク。
RDB$SECURITY_CLASS char(20) 今後の使用のため予約。
RDBVMS$SECURITY_AUDIT2 integer 今後の使用のため予約。
RDBVMS$SECURITY_ALARM2 integer 今後の使用のため予約。
RDB$CREATED date vms 表またはビューの作成時に設定される(システム表では、データベースの作成タイムスタンプと同じ)。
RDB$LAST_ALTERED date vms SQL ALTER TABLE、CREATE/ALTER STORAGE MAP、ALTER DOMAIN、GRANTまたはREVOKEの各文によってこのシステム表が変更されたときに設定される。
RDB$RELATION_CREATOR char(31) このシステム表の作成者。
RDB$ROW_CLUSTER_FACTOR bigint(7) 行の順次読取り時に発生するクランプ変更の数の、表内の行の数に対する比率。行が断片化されており、その断片の一部が現在のクランプまたは隣接するクランプとは別のクランプにある場合は、クランプ変更とみなす必要がある。
RDB$TYPE_ID integer 今後の使用のため予約。

RDB$FLAGSは、RDB$RELATIONSシステム表のフラグを示します。

ビット位置 説明
0 この表はビューになる。
1 この表は圧縮されていない。
2 SQL句のWITH CHECK OPTIONがこのビュー定義で使用される。
3 特殊な内部システム表を示す。
4 このビューは更新可能なANSIビューではない。
5 今後の使用のため予約。
6 今後の使用のため予約。
7 今後の使用のため予約。
8 ビット1は無視され、圧縮情報としてRDB$STORAGE_MAPSが使用される。
9 一時表に対して設定される。
10 グローバル一時表に対して設定され、ローカル一時表ではクリアされる。
11 コミット時のデータ削除に対して設定され、コミット時のデータ保持ではクリアされる。
12 今後の使用のため予約。
13 ビューまたは表がローカル一時表を参照している場合に設定される。
14 読取り専用の特殊な情報表。
15 システム表に記憶域マップがある。
16 ビューは一時表のみを参照する。

I.6.24 RDB$ROUTINES

RDB$ROUTINESシステム表では、ストアド・モジュールの一部である各ルーチンやスタンドアロンの外部ルーチンが記述されます。外部ルーチンは、モジュールの一部、またはスタンドアロン(モジュールのコンテキスト外)の場合があります。次の表は、RDB$ROUTINESシステム表の列に関する情報を示しています。

列名 データ型 概要説明
RDB$ROUTINE_NAME char(31) ルーチンの名前。
RDB$GENERIC_ROUTINE_NAME char(31) 今後の使用のため予約。
RDB$MODULE_ID integer このルーチンを含むモジュールの識別子。ルーチンがスタンドアロンの場合、値は0になる。
RDB$ROUTINE_ID integer このルーチンに割り当てられている一意の識別子。
RDB$ROUTINE_VERSION char(16) ルーチンのバージョンとチェックサム。データベースに関するルーチンの実行時検証を可能にする。
RDB$PARAMETER_COUNT integer このルーチンのパラメータの数。
RDB$MIN_PARAMETER_COUNT integer このルーチンのパラメータの最小数。
RDB$ROUTINE_BLR byte varying このルーチンのBLR。ルーチンが外部の場合、この列はNULLに設定される。
RDB$ROUTINE_SOURCE byte varying 定義者が指定したルーチンのソース。
RDB$FLAGS integer フラグ。
RDB$SOURCE_LANGUAGE integer RDB$SOURCE_LANGUAGEのセクションに、この列の値をリストする。
RDB$DESCRIPTION byte varying ルーチンの説明。
RDB$ACCESS_CONTROL byte varying ルーチンへのアクセスを制御するアクセス制御リスト(ACL)。この値はNULLにできる。
RDB$SECURITY_CLASS char(20) 今後の使用のため予約。
RDB$EXTENSION_PARAMETERS byte varying ルーチンに関するインタフェース情報を格納する。この情報にはパラメータ・マッピング、共有可能なイメージ名、エントリ・ポイント名などがある。
RDB$TYPE_ID integer 今後の使用のため予約。
RDB$ROUTINE_OWNER char(31) ルーチンの所有者。この列はルーチンがスタンドアロンの場合(RDB$MODULE_IDが0のとき)にのみ使用され、それ以外の場合、値はNULLになる。
RDB$CREATED date vms ルーチンの作成時に設定される(親のモジュールの作成タイムスタンプと同じ)。
RDB$LAST_ALTERED date vms ALTER、RENAME、GRANTおよびREVOKEの各文によるルーチンの変更時に設定される。
RDB$ROUTINE_CREATOR char(31) このルーチンの作成者。AUTHORIZATIONとOWNERは区別される。

RDB$FLAGSは、RDB$ROUTINESシステム表のフラグを示します。

ビット位置 説明
0 ルーチンはファンクションである。(コールで結果が返される。)
1 ルーチンが無効。(メタデータの変更によって無効化されている。)
2 ルーチンはバリアントである。(1回目と同じパラメータで2回目にファンクションを起動しても、異なる結果が返されると想定される。)
3 ルーチンはトランザクション状態を変更できる。
4 ルーチンはセキュアな共有可能イメージである。
5 ルーチンは、SQLのパラメータ渡しスタイルを使用している外部ルーチンである。(各パラメータおよび結果に対するNULLインジケータを含む。)
6 ルーチンが無効。(このルーチンが依存しているオブジェクトのメタデータ変更によって無効化されている。この依存性は、言語セマンティクスの依存性である。)
7 今後の使用のため予約。
8 NULLの引数がある場合、外部ファンクションはNULLを返す。
9 SQLルーチンは分析されている。
10 SQLルーチンにINSERTが含まれている。
11 SQLルーチンにUPDATEが含まれている。
12 SQLルーチンにDELETEが含まれている。
13 SQLルーチンにSELECTが含まれている。
14 SQLルーチンにCALLが含まれているか、またはSQLルーチンがSQLファンクションを起動する。
15 今後の使用のため予約。
16 使用は所有モジュールに限定される。
17 今後の使用のため予約。