CLP コマンド・オプションは、 コマンド行プロセッサー DB2OPTIONS 環境変数 (大文字) を設定するか、 またはコマンド行フラグを使用することにより指定できます。
ユーザーは、DB2OPTIONS を使用して、 セッション全体に適用されるオプションを設定することができます。
オプション・フラグの現在の設定および DB2OPTIONS の値を表示するには、 LIST COMMAND OPTIONSを使用します。 オプションの設定を対話式入力モードまたはコマンド・ファイルから変更するには、 UPDATE COMMAND OPTIONSを使用します。
コマンド行プロセッサーは、以下の手順でオプションを設定します。
表 1 に CLP オプション・フラグを要約してあります。
これらのオプションは、どのような順序や組み合わせでも指定することができます。
オプションをオンにするには、対応するオプション文字の前に負符号 (-) を付けます。
オプションをオフにする場合、
オプション文字の接頭部に負符号を付けオプション文字の後にも別の負符号を付けるか、
またはオプション文字の接頭部に正符号 (+) を付けてください。
たとえば、-c で auto-commit オプションはオンになり、
-c- または +c でオフになります。
これらのオプション文字では大文字と小文字は区別されず、
-a と -A は同じものとみなされます。
オプション・フラグ | 説明 | 省略時設定 |
---|---|---|
-a | コマンド行プロセッサーは SQLCA データを表示します。 | OFF |
-c | コマンド行プロセッサーは SQL ステートメントを自動的にコミットします。 | ON |
-e{c|s} | コマンド行プロセッサーは SQLCODE または SQLSTATE を表示します。 この 2 つのオプションは相互に排他的です。 | OFF |
-ffilename | コマンド行プロセッサーは、 コマンド入力を標準入力ではなくファイルから読み取ります。 | OFF |
-lfilename | コマンド行プロセッサーはコマンドを履歴ファイルに記録します。 | OFF |
-n | 単一の区切りトークン内の改行文字を除去します。 このオプションを指定しない場合、改行文字はスペースで置換されます。 このオプションは、-t オプションと共に使用する必要があります。 | OFF |
-o | コマンド行プロセッサーは、出力データおよびメッセージを標準出力に表示します。 | ON |
-p | コマンド行プロセッサーは、対話型入力モードのときにコマンド行プロセッサー・プロンプトを表示します。 | ON |
-rfilename | コマンド行プロセッサーは、コマンドが生成した報告をファイルに書き込みます。 | OFF |
-s | コマンド行プロセッサーは、バッチ・ファイルまたは対話式モードでコマンドを実行中にエラーが発生した場合、 実行を停止します。 | OFF |
-t | コマンド行プロセッサーはセミコロン (;) をステートメント終了文字として使用します。 | OFF |
-tdx | コマンド行プロセッサーは x をステートメント終了文字として定義し、使用します。 | OFF |
-v | コマンド行プロセッサーはコマンド・テキストを標準出力にエコーさせます。 | OFF |
-w | コマンド行プロセッサーは SQL ステートメント警告メッセージを表示します。 | ON |
-zfilename | コマンド行プロセッサーはすべての出力の宛先をファイルに変更します。 これは -r オプションと似ていますが、 出力の他にメッセージやエラー・コードも含まれます。 | OFF |
例
AIX コマンド
export DB2OPTIONS='+a -c +ec -o -p'
を実行すると、このセッションの省略時設定は以下のようになります。
Display SQLCA - off Auto Commit - on Display SQLCODE - off Display Output - on Display Prompt - on |
以下に、これらのオプションの詳細を説明します。
このコマンド・オプションの省略時設定は OFF です (+a または -a-)。
-o および -r オプションは -a オプションに影響します。 詳細については、オプションの説明を参照してください。
このコマンド・オプションの省略時設定は ON です。
自動コミット・オプションは、他のコマンド行プロセッサー・オプションに影響することはありません。
例: 以下のシナリオを考えてみましょう。
ステップ 4 の SQL ステートメントは、表 A に C2 という名前の列がないので失敗します。 そのステートメントは自動コミット ON (省略時値) で発行されたので、 ステップ 4 のステートメントだけでなく、ステップ 3 のステートメントもロールバックされます。 ステップ 3 が自動コミット OFF で発行されているためです。 コマンド
db2 list tables
を実行しても、ヌルのリストが戻されます。
このコマンド・オプションの省略時設定は OFF です (+e または -e-)。
-o および -r オプションは、-e オプションに影響します。 詳細については、オプションの説明を参照してください。
SQLCODE/SQLSTATE 表示オプションは他のコマンド行プロセッサー・オプションには影響しません。
例: AIX 上で実行しているコマンド行プロセッサーから SQLCODE を検索するには、 次のように入力します。
sqlcode=&rprime.db2 -ec +o db2-command&rprime.
他のオプションと一緒にオプション -f を指定する場合には、 オプション -f は最後に指定する必要があります。 たとえば、次のようにします。
db2 -tvf filename
注: | このオプションは、対話式モード内では変更できません。 |
このコマンド・オプションの省略時設定は OFF です (+f または -f-)。
コマンド処理は QUITまたは TERMINATEが出されるまで、 またはファイルの終わりまで続行されます。
このオプションとデータベース・コマンドの両方を指定すると、 コマンド行プロセッサーはコマンドを全く処理せずにエラー・メッセージを戻します。
注釈文字 -- で始まる入力ファイル行は、 コマンド行プロセッサーにより注釈として処理されます。 行の最初の非ブランク文字は注釈文字でなければなりません。
-ffilename オプションを指定すると、 -p オプションは無視されます。
入力ファイルからの読み取りオプションは、他のコマンド行プロセッサー・オプションには影響しません。
他のオプションと一緒にオプション -l を指定する場合には、 オプション -l は最後に指定する必要があります。 たとえば、次のようにします。
db2 -tvl filename
このコマンド・オプションの省略時設定は OFF です (+l または -l-)。
履歴ファイルへのコマンドのログ・オプションは、他のコマンド行プロセッサー・オプションには影響しません。
注: | このオプションは、対話式モード内では変更できません。 |
このコマンド・オプションの省略時設定は OFF です (+n または -n-)。
このオプションは、-t オプションと共に使用する必要があります。 詳細については、オプションの説明を参照してください。
このコマンド・オプションの省略時設定は ON です。
対話式モード開始情報は、このオプションによって影響を受けることはありません。 出力データは、ユーザー指定コマンドからの実行結果のレポート出力、 および SQLCA データ (要求した場合) で構成されます。
以下のオプションは、+o オプションの影響を受けます。
-o と -e オプションの両方を指定すると、 データおよび SQLCODE または SQLSTATE のどちらかが画面に表示されます。
-o と -v オプションの両方を指定すると、 データが表示され、発行した各コマンドのテキストが画面にエコーされます。
出力表示オプションは、他のコマンド行プロセッサー・オプションには影響しません。
このコマンド・オプションの省略時設定は ON です。
コマンドがコマンド行プロセッサーにパイプ接続されているときには、プロンプトをオフにすると便利です。 たとえば、CLP コマンドを含むファイルを、次のコマンドを発行することによって実行できます。
db2 +p < myfile.clp
-p オプションは、 -ffilename オプションを指定すると無視されます。
DB2 対話式プロンプト表示オプションは、他のコマンド行プロセッサー・オプションには影響しません。
このコマンド・オプションの省略時設定は OFF です (+r または -r-)。
-a オプションを指定すると、SQLCA データがファイルに書き込まれます。
-r オプションは -e オプションには影響しません。 -e オプションを指定すると、 SQLCODE または SQLSTATE がファイルではなく標準出力に書き込まれます。
-rfilename を DB2OPTIONS に設定すると、 ユーザーはコマンド行から +r (または -r-) オプションを設定して、 特定のコマンド呼び出しの出力データがファイルに書き込まれないようにすることができます。
報告ファイルへの保管オプションは、他のコマンド行プロセッサー・オプションには影響しません。
このコマンド・オプションの省略時設定は OFF です (+s または -s-)。 この設定により、コマンド行プロセッサーはエラー・メッセージを表示し、残りのコマンドの実行を続け、 システム・エラーが発生したとき (戻りコード 8) に限って実行を停止します。
次の表に、この動作を要約します。
戻りコード | -s オプション設定 | +s オプション設定 |
---|---|---|
0 (成功) | 実行の継続 | 実行の継続 |
1 (0 行が選択された) | 実行の継続 | 実行の継続 |
2 (警告) | 実行の継続 | 実行の継続 |
4 (DB2 または SQL エラー) | 実行の停止 | 実行の継続 |
8 (システム・エラー) | 実行の停止 | 実行の停止 |
注: | このオプションは、対話式モード内では変更できません。 |
このコマンド・オプションの省略時設定は OFF です (+t または -t-)。
終了文字を定義するには、-td の後に選択した終了文字を指定します。 たとえば、 -tdx とすると x がステートメント終了文字として設定されます。
終了記号かどうか調べられるのが各入力行の最後の非ブランク文字だけであるため、 コマンド行から複数のステートメントを連結するために終了文字を使用することはできません。
ステートメント終了文字オプションは、他のコマンド行プロセッサー・オプションには影響しません。
このコマンド・オプションの省略時設定は OFF です (+v または -v-)。
+o (または -o-) が指定された場合、 -v オプションは無効になります。
冗長出力オプションは、他のコマンド行プロセッサー・オプションには影響しません。
このコマンド・オプションの省略時設定は ON です。
このコマンド・オプションの省略時設定は OFF です (+z または -z-)。
-a オプションを指定すると、SQLCA データがファイルに書き込まれます。
-z オプションは -e オプションには影響しません。 -e オプションを指定すると、 SQLCODE または SQLSTATE がファイルではなく標準出力に書き込まれます。
-zfilename を DB2OPTIONS に設定すると、 ユーザーはコマンド行から +z (または -z-) オプションを設定して、 特定のコマンド呼び出しの出力データがファイルに書き込まれないようにすることができます。
すべての出力のファイルへの保管オプションは、他のコマンド行プロセッサー・オプションには影響しません。