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

戻る
戻る
 
次へ
次へ
 


SET DEFAULT CONSTRAINT MODE文

文のデフォルトの制約設定を設定します。

環境

SET DEFAULT CONSTRAINT MODE文は次の環境で使用できます。


形式




引数

DEFAULT

OFF

次回のトランザクション中に、DEFERRABLE INITIALLY DEFERREDとして定義されているすべての制約が、制約定義に最初に指定されているとおりに評価されるようリクエストします。OFFは、DEFAULTと同義です。

DEFERRED

DEFAULTと同義です。ただし、Oracle Rdbの将来のリリースでは、このキーワードの意味は変更される予定です。

IMMEDIATE

ON

このトランザクション中に、DEFERRABLE INITIALLY DEFERREDとして定義されているすべての制約がDEFERRABLE INITIALLY IMMEDIATEとして定義されている場合と同様に評価されるようリクエストします。ONは、IMMEDIATEと同義です。

'string-literal'
parameter parameter-marker

セッションのデフォルト・キャラクタ・セットを指定します。runtime-optionsの値は有効なキャラクタ・セットである必要があります。使用可能なキャラクタ・セット名およびオプション値のリストは、第2.1節を参照してください。

使用方法


例1: SET文を使用した制約評価の現在の設定の変更

次の例は、SET文を使用して現在のトランザクションの制約評価モードを変更する方法を示しています。現在の設定とデフォルト設定の両方を表示できます。


SQL> attach 'filename mf_personnel_sql';
SQL> /*
***> Show settings before starting, set the default mode,
***> then show the settings again.
***> */
SQL> show constraint mode;
    Statement constraint evaluation default is DEFERRED (off)
SQL> set default constraint mode immediate;
SQL> show constraint mode;
    Statement constraint evaluation default is IMMEDIATE (on)
SQL> start transaction;
SQL> set all constraints deferred;
SQL> show constraint mode;
    Statement constraint evaluation default is IMMEDIATE (on)
    Statement constraint evaluation is DEFERRED (off)
SQL> commit;
SQL> show constraint mode;
    Statement constraint evaluation default is IMMEDIATE (on)
SQL>

例2: runtime-optionsの使用

runtime-optionsを使用する場合、渡される文字値は、ON、OFF、IMMEDIATE、DEFERREDまたはDEFAULTのいずれかのキーワードである必要があります。次の例は、対話型SQLでこれを実行する方法を示しています。


SQL> show constraint mode
    Statement constraint evaluation default is DEFERRED (off)
SQL> declare :c_mode char(10) = 'IMMEDIATE';
SQL> set default constraint mode :c_mode;
SQL> show constraint mode
    Statement constraint evaluation default is IMMEDIATE (on)
SQL>


SET DISPLAY CHARACTER SET文

表示キャラクタ・セットを指定します。

環境

SET DISPLAY CHARACTER SET文は次の環境で使用できます。


形式




引数

'string-literal'
parameter parameter-marker

テキスト値がユーザー・アプリケーションに返される前にこれらの値の自動変換に使用される表示キャラクタ・セットを指定します。使用可能なキャラクタ・セットおよびオプション値のリストは、表2-1を参照してください。

使用方法


例1: 対話型セッションの表示キャラクタ・セットの設定


SQL> show character sets;
Default character set is DEC_MCS
National character set is DEC_MCS
Identifier character set is DEC_MCS
Literal character set is DEC_MCS
Display character set is UNSPECIFIED
SQL> set display character set 'SHIFT_JIS';
SQL> show character sets;
Default character set is DEC_MCS
National character set is DEC_MCS
Identifier character set is SHIFT_JIS
Literal character set is SHIFT_JIS
Display character set is SHIFT_JIS


SET FLAGS文

現在のセッションについてデータベース・システムのデバッグ・フラグの有効化および無効化を可能にします。

このコマンドに渡されるリテラルまたはホスト変数には、カンマで区切ったキーワードまたは否定されたキーワードのリストを含めることができます。空白は無視されます。キーワードは、あいまいでない長さに省略できます。

注意

オラクル社には、Oracle Rdbの任意のリリースまたは更新においてSET FLAGS文に新規キーワードを追加する権利があります。これにより、このあいまいでない長さが変更される可能性があります。このため、アプリケーションでは完全なキーワードを使用することをお薦めします。


環境

SET FLAGS文は次の環境で使用できます。


形式



引数

FLAGS

データベース・システムのデバッグ・フラグを設定するかどうかを指定します。

表6-16は、指定可能なキーワードを示しています。表に明記されていないかぎり、「デバッグ・フラグの同義語」では、RDMS$DEBUG_FLAGS論理名は、キーワードにリストされている動作に設定されています。

また、表にリストされているキーワード(および否定されたキーワード)は、RDMS$SET_FLAGS論理名の等価文字列として指定できます。

表6-16 デバッグ・フラグのキーワード
キーワード デバッグ・フラグの同義語1 コメント
ALTERNATE_OUTLINE_ID なし アウトライン識別子の作成時にリテラル値が破棄される。「使用方法」を参照。
AUTO_INDEX Xq CREATE TABLEおよびALTER TABLEで、表に追加されるPRIMARY KEY制約、FOREIGN KEY制約またはUNIQUE制約の索引を作成できるようにする。
AUTO_OVERRIDE なし DBADM(管理者)権限を持つユーザーは、AUTOMATICとして定義されている列を挿入または更新できるようになる。
BITMAPPED_SCAN なし 動的オプティマイザで索引のAND操作およびOR操作に対してメモリー内の圧縮型DBkeyビットマップを使用できるようにする。
BLR B 問合せに対するバイナリ言語表現(BLR)のリクエストを表示する。
CARDINALITY K カーディナリティの更新を表示する。
CARTESIAN_LIMIT なし 結合順序内の任意の位置に配置可能な小さい表の数を制限する。
CHRONO_FLAG(n) Xc ダンプ前にタイムスタンプを強制的に表示する。nの値には、0、1または2を使用できる。また、nは省略することも可能。CHRONO_FLAG(0)とNOCHRONO_FLAGは同義。CHRONO_FLAGを指定するときにnを省略すると、デフォルトはCHRONO_FLAG(1)。CHRONO_FLAG(1)の場合、アタッチ番号と現在時刻が含まれるトレース・メッセージを追加できる。CHRONO_FLAG(2)の場合、アタッチ番号と現在日時が含まれるトレース・メッセージを追加できる。2を超える値をnに指定すると、この値は無視され、値1が使用される。
CONTROL_BITS Bc BLRキーワードとともに使用されたときにBLR$K_CONTROL_BITSセマンティック・フラグのデコーディングを表示する。
COSTING Oc オプティマイザ・コスト計算のトレースを表示する。
COUNT_SCAN なし ランク付きソート索引に対するカウント・スキャンの最適化を有効にする。この場合、ランク付きソート索引のカーディナリティ情報を使用して、問合せを満たす行数が確認される。
CURSOR_STATS Og オプティマイザの一般カーソル統計を表示する。
DATABASE_
PARAMETERS
P ATTACH文、CREATE DATABASE文、ALTER DATABASE文、IMPORT DATABASE文およびDISCONNECT文の実行時にデータベース・パラメータ・バッファを表示する。
DDL_BLR D データ定義内の式(表定義内で計算された列の式など)のバイナリ言語表現(BLR)を表示する。
DETAIL_LEVEL なし デバッグ出力に詳細情報を追加するために他のデバッグ・フラグとともに使用されるデバッグ・フラグ。DETAIL_LEVELキーワードの後ろには、丸カッコで囲んだ数値を配置できる。このフラグをサポートしているデバッグ・フラグにとって、このフラグは追加詳細の程度を示す。
ESTIMATES O オプティマイザの推定を表示する。
EXECUTION E 動的オプティマイザからの実行トレースを表示する。厳密にパーティション化されている表からの順次取得の場合、これには、問合せが実行されるたびに選択されるパーティションのリストと数が含まれる。

EXECUTIONキーワードの後ろには、丸カッコで囲んだ数値を配置できる。これは、問合せ実行の実行トレースを停止する前に表示する行数を表す。キーワードとパラメータの間には空白を使用できない。デフォルトは100。

IGNORE_OUTLINE なし データベースに定義されているアウトラインを無視する。IGNORE_OUTLINEキーワードのアクションは、RDMS$BIND_OUTLINE_FLAGS論理名を1に設定した場合と同じ。
INDEX_COLUMN_GROUP なし 先行索引列をワークロード列グループとして使用できるようにする。これにより、ソリューションのカーディナリティの精度が向上する可能性がある。詳細は、「使用方法」を参照。
INDEX_DEFER_ROOT Xb このフラグが設定されているときに索引が作成されると、表内にデータがある場合のみ索引のルート・ノードが作成される。表が空である場合、表に行が挿入されるまで索引のルート・ノードの作成が遅延される。
INDEX_PARTITIONS Si 索引のパーティション化情報を動的実行トレースの一環として表示する。
INDEX_STATS Ai ALTER文、CREATE文またはDROP INDEX文の進捗に関するデバッグ・フラグ出力を有効にする。
INTERNALS I 制約およびトリガーなどの内部問合せに関するデバッグ・フラグ出力を有効にする。これは、STRATEGY、BLRおよびEXECUTIONなどの他のキーワードとともに使用できる。
ITEM_LIST H データベースの問合せのためにコンパイル時の問合せオプションとして渡される項目リスト情報を表示する。
LAREA_READY Xr このフラグを使用して、表と索引のロック動作を調査できる。このフラグはデフォルトでは無効。
MAX_RECURSION なし 一致計画の実行時に実行可能な再帰型の最大数を設定する。これにより、一致計画の処理時に再帰型が過剰にならないようにする。デフォルト値は100。これと同義のデバッグ・フラグは、RDMS$BIND_MAX_RECURSION。
MAX_SOLUTION なし 使用可能な取得ソリューション用として最大の検索領域を有効にする。有効な場合、索引の各先行セグメントに基づいてより多くのソリューションが試行されるため、以前より多くのソリューションが作成される場合があるが、索引の取得時に複数のセグメントを適用する、より効率的なソリューションが見つかる可能性がある。これと同義のデバッグ・フラグは、RDMS$DISABLE_MAX_SOLUTION。デフォルトでは有効。
MAX_STABILITY なし 最大のスタビリティを実現する。動的オプティマイザは許可されない。MAX_STABILITYキーワードのアクションは、RDMS$MAX_STABILITY論理名と同じ。
MBLR M データ定義言語文に対する
メタデータ・バイナリ言語表現のリクエストを表示する。
MODE(n) 「使用方法」を参照 問合せアウトラインのモード値を指定することにより、使用する問合せアウトラインを指定できる。

nの値には、正の整数または負の整数を使用できる。また、nは省略することも可能。MODEを指定するときにnを省略すると、デフォルトはMODE(1)。MODE(0)またはNOMODEを指定すると、SHOW FLAGS文の出力でモードの表示が無効になる。MODE(0)は、Oracle Rdbで生成されるアウトラインのデフォルト。

NONE2 適用不可 現在定義されているすべてのキーワードをオフにするために使用する。SET NOFLAGSと同義。
OBLR So バイナリ言語表現(BLR)で問合せアウトラインを表示する。
OLD_COST_MODEL なし 古いコスト・モデルを有効にする。OLD_COST_MODELキーワードのアクションは、RDMS$USE_OLD_COST_MODEL論理名と同じ。
OUTLINE Ss この問合せの問合せアウトラインを表示する(STRATEGYキーワードなしで使用できる)。
PREFIX3 Bn BLRキーワードとともに使用して、バイナリ言語表現表示のオフセット番号および他の書式設定を禁止する。
REBUILD_SPAM_PAGES なし REBUILD_SPAM_PAGESフラグは、DDLコマンドのALTER TABLE、ALTER STORAGE MAPおよびALTER INDEXとともに使用する。表または索引の行の長さまたはTHRESHOLDS句を変更する場合、論理領域の対応するSPAMページの再構成が必要な場合がある。デフォルトでは、これらのDDLコマンドによりAIPが更新され、SPAMページの再構成が必要であることを示すフラグが設定される。ただし、このフラグは、トランザクションに対してCOMMITを実行する前に設定できる。これにより、再構成はこのトランザクション内で行われる。このフラグを否定するには、SET FLAGS 'NOREBUILD_SPAM_PAGES'を使用する。
REQUEST_NAMES Sn ユーザーのリクエスト、トリガーおよび制約の名前を表示する。
REVERSE_SCAN なし 逆索引スキャン計画を有効にする。NOREVERSE_SCANキーワードのアクションは、RDMS$DISABLE_REVERSE_SCAN論理名と同じ。
SCROLL_EMULATION L 旧スタイルのLIST OF BYTE VARYING(セグメント化された文字列)形式のスクロールを無効にする。SCROLL_EMULATIONフラグのアクションは、RDMS$DIAG_FLAGS論理名をLに設定した場合と同じ。
SELECTIVITY なし 静的オプティマイザが条件の選択を推定する方法を示します。このフラグには、丸カッコで囲んだ0〜3の数値を使用できます。
0 = 標準(非アグレッシブ、サンプリングなし)の選択
1 = アグレッシブ + サンプリングなしの選択度
2 = サンプリングあり + 非アグレッシブの選択
3 = サンプリングあり + アグレッシブの選択。
デフォルトでは、このフラグは無効。これは、値を0に設定するのと同義。
SEQ_CACHE(n) なし SET FLAGS文を発行するプロセスの順序キャッシュのサイズを調整する。値nは、2より大きい数値である必要がある。(値1を指定するのは、NOSEQ_CACHEを指定するのと同じ。)SEQ_CACHEを使用して、アプリケーションによって後で参照されるすべての順序に関するCACHE設定をオーバーライドする。新規キャッシュ・サイズは、すでに参照されている順序や、NOCACHEとして定義されている順序には影響しない。
SOLUTIONS OsS オプティマイザのソリューションのトレースを表示する。
SORTKEY_EXT S ORDER BY(またはSORTED BY)が外部(定数)値のみを参照しているかどうかをレポートする。SORTKEY_EXTフラグのアクションは、RDMS$DIAG_FLAGS論理名をSに設定した場合と同じ。
SORT_STATISTICS R 実行時のソート統計を表示する。
STOMAP_STATS As 削除された記憶域を参照する表に関する記憶域マップの処理を表示する。出力には接頭辞として「~As」が付けられる。
STRATEGY S オプティマイザ計画を表示する。表が厳密にパーティション化されている場合、テキスト"(partitioned scan#nn)"が表名の後ろに表示される。nnは、順次スキャンのリーフ番号を示す(1つの問合せ内に複数存在する場合がある)。
TEST_SYSTEM なし このフラグは、Oracle Rdbテスト環境で様々なファンクション、トレースおよびデバッグ表示の出力を変更するために使用される。このフラグを使用して、一般的なテスト実行間で差異が生じる原因となるテスト出力のデータを削除する。
TRACE Xt TRACE文からの出力を有効にする。
TRANSACTION_
PARAMETERS
T SET TRANSACTION、COMMITおよびROLLBACKの実行時とストアド・プロシージャのコンパイル時にトランザクション・パラメータ・バッファを表示する。
TRANSITIVITY なし 選択および結合条件間の推移性を有効にする。NOTRANSITIVITYキーワードのアクションは、RDMS$DISABLE_ TRANSITIVITY論理名と同じ。
VALIDATE_ROUTINE なし 無効にされたストアド・プロシージャまたはストアド・ファンクションの再検証を有効にする。VALIDATE_ROUTINEキーワードのアクションは、RDMS$VALIDATE_ROUTINE論理名と同じ。
VARIANCE_DOF(n) なし 小規模なサンプルの平均値の計算におけるデフォルトの自由度(DOF)を設定する(VARIANCEファンクションの使用の代用)。有効な値は0と1のみ。
WARN_DDL Xd 場合によっては、正規のデータ定義には副次的な影響があることがある。このフラグを使用すると、これらの警告を有効化および無効化できる。このフラグは、デフォルトでは有効。ただし、PATHNAMEによってアタッチされる場合は例外。警告がレポートされても、データ定義文の処理は続行される。データベース管理者は、このフィードバックに基づいて文をロールバックするかどうかを選択できる。
WARN_INVALID Xw ALTER INDEX文、DROP INDEX文、DROP TABLE文およびDROP MODULE文の実行時に無効なオブジェクトをレポートする。
WATCH_CALL Xa 問合せ、トリガー、ストアド・ファンクションおよびストアド・プロシージャの実行をトレースする。この出力には、トリガー、ファンクションおよびプロシージャの名前や、匿名問合せであることを示す「unnamed」が含まれる。多くの場合、問合せには、OPTIMIZE AS句を使用して名前を付けることができる。また、この出力には、ルーチンの実行時におけるCURRENT_USERの値も含まれる。CURRENT_USERは、AUTHORIZATION句を使用する任意のモジュールから継承できる。
WATCH_OPEN Xo データベース上で実行されるすべての問合せをトレースする。これには、表名を検索するSQLランタイム・システム問合せや、アプリケーションによって実行される問合せなどがある。この出力には、CREATE OUTLINE文によって使用される場合と同じ32桁の16進識別子が含まれる。この値により、実行対象の問合せが一意に識別される。

問合せがストアド・ルーチン(ファンクションまたはプロシージャ)である場合、"(stored)"という表記が付加される。問合せに名前が付けられている場合、"(query)"として分類される。それ以外の場合は、"(unnamed)"として指定される。

ZIGZAG_MATCH なし 外部一致ループと内部一致ループの両方でジグザグのキー・スキップを有効にする。ZIGZAG_MATCHキーワードとともにNOZIGZAG_OUTERキーワードを指定すると、外部ループでジグザグのキー・スキップが無効になる(このアクションは、RDMS$DISABLE_ZIGZAG_MATCH論理名を1に設定した場合と同じ)。NOZIGZAG_MATCHキーワードを使用すると、外部一致ループと内部一致ループの両方でジグザグのキー・スキップが無効になる(このアクションは、RDMS$DISABLE_ZIGZAG_MATCH論理名を2に設定した場合と同じ)。
ZIGZAG_OUTER なし 外部ループでジグザグのキー・スキップを有効にする。ZIGZAG_OUTERとともにZIGZAG_MATCHを指定した場合におけるアクションの詳細は、ZIGZAG_MATCHの項目を参照。


1RDMS$DEBUG_FLAGS論理名です。
2このキーワードは否定できない場合があります。
3デフォルトでは有効です。

NOFLAGS

SET NOFLAGS文を使用すると、現在有効なすべてのフラグが無効になります。これは、SET FLAGS 'NONE'と同義です。NOFLAGSは、対話型SQLでのみ使用できます。

使用方法