コマンド解説書

コマンド行プロセッサーのオプション

CLP コマンド・オプションは、 コマンド行プロセッサー DB2OPTIONS 環境変数 (大文字) を設定するか、 またはコマンド行フラグを使用することにより指定できます。

ユーザーは、DB2OPTIONS を使用して、 セッション全体に適用されるオプションを設定することができます。

オプション・フラグの現在の設定および DB2OPTIONS の値を表示するには、 LIST COMMAND OPTIONSを使用します。 オプションの設定を対話式入力モードまたはコマンド・ファイルから変更するには、 UPDATE COMMAND OPTIONSを使用します。

コマンド行プロセッサーは、以下の手順でオプションを設定します。

  1. 省略時オプションを設定します。
  2. DB2OPTIONS を読み取って、省略時値を一時変更します。
  3. コマンド行を読み取って、DB2OPTIONS を一時変更します。
  4. UPDATE COMMAND OPTIONS からの入力を、最終的な対話式一時変更として受け入れます。

表 1 に CLP オプション・フラグを要約してあります。 これらのオプションは、どのような順序や組み合わせでも指定することができます。 オプションをオンにするには、対応するオプション文字の前に負符号 (-) を付けます。 オプションをオフにする場合、 オプション文字の接頭部に負符号を付けオプション文字の後にも別の負符号を付けるか、 またはオプション文字の接頭部に正符号 (+) を付けてください。 たとえば、-c で auto-commit オプションはオンになり、 -c- または +c でオフになります。 これらのオプション文字では大文字と小文字は区別されず、 -a-A は同じものとみなされます。

表 1. CLP コマンド・オプション
オプション・フラグ 説明 省略時設定
-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

以下に、これらのオプションの詳細を説明します。

SQLCA データ表示オプション (-a):
DB2 コマンドまたは SQL ステートメントを実行した後で、 SQLCA データを標準出力に表示します。 SQLCA データが、エラーまたは完了メッセージの代わりに表示されます。

このコマンド・オプションの省略時設定は OFF です (+a または -a-)。

-o および -r オプションは -a オプションに影響します。 詳細については、オプションの説明を参照してください。

自動コミット・オプション (-c):
このオプションは、 各コマンドまたはステートメントを独立して処理するかどうかを指定します。 ON (-c) に設定する場合、 各コマンドまたはステートメントは自動的にコミットされるかまたはロールバックされます。 コマンドまたはステートメントが正常に処理された場合、それ自体、 およびそれ以前に自動コミット OFF (+c または -c-) で発行され、 正常に実行されたコマンドおよびステートメントがすべてコミットされます。 しかし、コマンドまたはステートメントが失敗した場合、それ自体、 およびそれ以前に自動コミット OFF で発行され、 正常に実行されたコマンドおよびステートメントはすべてロールバックされます。 OFF (+c または -c-) に設定した場合、 COMMIT または ROLLBACK を明示的に発行しなければなりません。 そうしないと、次に自動コミット ON (-c) でコマンドを発行したときに、 COMMIT または ROLLBACK のどちらかのアクションが起こります。

このコマンド・オプションの省略時設定は ON です。

自動コミット・オプションは、他のコマンド行プロセッサー・オプションに影響することはありません。

例: 以下のシナリオを考えてみましょう。

  1. db2 create database test
  2. db2 connect to test
  3. db2 +c "create table a (c1 int)"
  4. db2 select c2 from a

ステップ 4 の SQL ステートメントは、表 A に C2 という名前の列がないので失敗します。 そのステートメントは自動コミット ON (省略時値) で発行されたので、 ステップ 4 のステートメントだけでなく、ステップ 3 のステートメントもロールバックされます。 ステップ 3 が自動コミット OFF で発行されているためです。 コマンド

   db2 list tables

を実行しても、ヌルのリストが戻されます。

SQLCODE/SQLSTATE 表示オプション (-e):
-e{c|s} オプションを指定すると、 コマンド行プロセッサーは SQLCODE (-ec) または SQLSTATE (-es) を標準出力に表示します。 オプション -ec および -es は、CLP 対話式モードでは無効です。

このコマンド・オプションの省略時設定は OFF です (+e または -e-)。

-o および -r オプションは、-e オプションに影響します。 詳細については、オプションの説明を参照してください。

SQLCODE/SQLSTATE 表示オプションは他のコマンド行プロセッサー・オプションには影響しません。

例: AIX 上で実行しているコマンド行プロセッサーから SQLCODE を検索するには、 次のように入力します。

   sqlcode=&rprime.db2 -ec +o db2-command&rprime.

入力ファイルからの読み取りオプション (-f):
-ffilename オプションを指定すると、 コマンド行プロセッサーは標準入力ではなく指定したファイルから入力を読み取るようになります。 filename は、 指定ファイルまでのディレクトリー・パスを含む絶対または相対ファイル名です。 ディレクトリー・パスを指定していない場合、現行ディレクトリーが使用されます。

他のオプションと一緒にオプション -f を指定する場合には、 オプション -f は最後に指定する必要があります。 たとえば、次のようにします。

   db2 -tvf filename
注:このオプションは、対話式モード内では変更できません。

このコマンド・オプションの省略時設定は OFF です (+f または -f-)。

コマンド処理は QUITまたは TERMINATEが出されるまで、 またはファイルの終わりまで続行されます。

このオプションとデータベース・コマンドの両方を指定すると、 コマンド行プロセッサーはコマンドを全く処理せずにエラー・メッセージを戻します。

注釈文字 -- で始まる入力ファイル行は、 コマンド行プロセッサーにより注釈として処理されます。 行の最初の非ブランク文字は注釈文字でなければなりません。

-ffilename オプションを指定すると、 -p オプションは無視されます。

入力ファイルからの読み取りオプションは、他のコマンド行プロセッサー・オプションには影響しません。

履歴ファイルへのコマンドのログ・オプション (-l):
-lfilename オプションを指定すると、 コマンド行プロセッサーは指定したファイルにコマンドのログを記録します。 この履歴ファイルには、実行したコマンドとその完了状況が記録されます。 filename は、 指定ファイルまでのディレクトリー・パスを含む絶対または相対ファイル名です。 ディレクトリー・パスを指定していない場合、現行ディレクトリーが使用されます。 指定したファイルまたは省略時のファイルがすでに存在している場合、 そのファイルに新しいログ項目が追加されます。

他のオプションと一緒にオプション -l を指定する場合には、 オプション -l は最後に指定する必要があります。 たとえば、次のようにします。

   db2 -tvl filename

このコマンド・オプションの省略時設定は OFF です (+l または -l-)。

履歴ファイルへのコマンドのログ・オプションは、他のコマンド行プロセッサー・オプションには影響しません。

改行文字除去オプション (-n):
単一の区切りトークン内の改行文字を除去します。 このオプションを指定しない場合、改行文字はスペースで置換されます。
注:このオプションは、対話式モード内では変更できません。

このコマンド・オプションの省略時設定は OFF です (+n または -n-)。

このオプションは、-t オプションと共に使用する必要があります。 詳細については、オプションの説明を参照してください。

出力表示オプション (-o):
-o オプションを指定すると、 コマンド行プロセッサーは出力データおよびメッセージを標準出力に送信します。

このコマンド・オプションの省略時設定は ON です。

対話式モード開始情報は、このオプションによって影響を受けることはありません。 出力データは、ユーザー指定コマンドからの実行結果のレポート出力、 および SQLCA データ (要求した場合) で構成されます。

以下のオプションは、+o オプションの影響を受けます。

-o-e オプションの両方を指定すると、 データおよび SQLCODE または SQLSTATE のどちらかが画面に表示されます。

-o-v オプションの両方を指定すると、 データが表示され、発行した各コマンドのテキストが画面にエコーされます。

出力表示オプションは、他のコマンド行プロセッサー・オプションには影響しません。

DB2 対話式プロンプト表示オプション (-p):
-p オプションを指定すると、ユーザーが対話式モードになっているときに、 コマンド行プロセッサーはコマンド行プロセッサー・プロンプトを表示します。

このコマンド・オプションの省略時設定は ON です。

コマンドがコマンド行プロセッサーにパイプ接続されているときには、プロンプトをオフにすると便利です。 たとえば、CLP コマンドを含むファイルを、次のコマンドを発行することによって実行できます。

   db2 +p < myfile.clp

-p オプションは、 -ffilename オプションを指定すると無視されます。

DB2 対話式プロンプト表示オプションは、他のコマンド行プロセッサー・オプションには影響しません。

報告ファイルへの保管オプション (-r):
-rfilename オプションは、 コマンドによって生成される出力データをすべて指定したファイルに書き込まれるようにします。 これは、 キャプチャーしないと画面がスクロールして見えなくなってしまう報告のキャプチャーに便利です。 メッセージまたはエラー・コードはファイルに書き込まれません。 filename は、 指定ファイルまでのディレクトリー・パスを含む絶対または相対ファイル名です。 ディレクトリー・パスを指定していない場合、現行ディレクトリーが使用されます。 新しい報告項目がファイルに追加されます。

このコマンド・オプションの省略時設定は OFF です (+r または -r-)。

-a オプションを指定すると、SQLCA データがファイルに書き込まれます。

-r オプションは -e オプションには影響しません。 -e オプションを指定すると、 SQLCODE または SQLSTATE がファイルではなく標準出力に書き込まれます。

-rfilenameDB2OPTIONS に設定すると、 ユーザーはコマンド行から +r (または -r-) オプションを設定して、 特定のコマンド呼び出しの出力データがファイルに書き込まれないようにすることができます。

報告ファイルへの保管オプションは、他のコマンド行プロセッサー・オプションには影響しません。

コマンド・エラー時の実行の停止オプション (-s):
コマンドが対話式モードでまたは入力ファイルから発行され、 構文またはコマンド・エラーが起きた場合、-s オプションを指定してあると、 コマンド行プロセッサーが実行を停止して、標準出力にエラー・メッセージが書き込まれます。

このコマンド・オプションの省略時設定は OFF です (+s または -s-)。 この設定により、コマンド行プロセッサーはエラー・メッセージを表示し、残りのコマンドの実行を続け、 システム・エラーが発生したとき (戻りコード 8) に限って実行を停止します。

次の表に、この動作を要約します。


表 2. CLP 戻りコードおよびコマンド実行
戻りコード -s オプション設定 +s オプション設定
0 (成功) 実行の継続 実行の継続
1 (0 行が選択された) 実行の継続 実行の継続
2 (警告) 実行の継続 実行の継続
4 (DB2 または SQL エラー) 実行の停止 実行の継続
8 (システム・エラー) 実行の停止 実行の停止

ステートメント終了文字オプション (-t):
-t オプションを指定すると、 コマンド行プロセッサーはステートメント終了文字としてセミコロン (;) を使用するようになり、 スラッシュ (/) 行継続文字は使用不能になります。
注:このオプションは、対話式モード内では変更できません。

このコマンド・オプションの省略時設定は OFF です (+t または -t-)。

終了文字を定義するには、-td の後に選択した終了文字を指定します。 たとえば、 -tdx とすると x がステートメント終了文字として設定されます。

終了記号かどうか調べられるのが各入力行の最後の非ブランク文字だけであるため、 コマンド行から複数のステートメントを連結するために終了文字を使用することはできません。

ステートメント終了文字オプションは、他のコマンド行プロセッサー・オプションには影響しません。

冗長出力オプション (-v):
-v オプションを指定すると、 コマンド行プロセッサーはコマンドからの出力またはメッセージを表示する前に、 ユーザーが入力したコマンド・テキストを (標準出力に) エコーします。 ECHOにはこのオプションは無効です。

このコマンド・オプションの省略時設定は OFF です (+v または -v-)。

+o (または -o-) が指定された場合、 -v オプションは無効になります。

冗長出力オプションは、他のコマンド行プロセッサー・オプションには影響しません。

警告メッセージ表示オプション (-w):
-w オプションを指定すると、 コマンド行プロセッサーは SQL ステートメント警告メッセージを表示します。

このコマンド・オプションの省略時設定は ON です。

すべての出力のファイルへの保管オプション (-z):
-zfilename オプションは、 コマンドによって生成される出力データをすべて指定したファイルに書き込まれるようにします。 これは、 キャプチャーしないと画面がスクロールして見えなくなってしまう報告のキャプチャーに便利です。 これは、-r オプションに似ていますが、 メッセージ、エラー・コード、および情報出力もファイルに書き込まれる点が異なります。 filename は、 指定ファイルまでのディレクトリー・パスを含む絶対または相対ファイル名です。 ディレクトリー・パスを指定していない場合、現行ディレクトリーが使用されます。 新しい報告項目がファイルに追加されます。

このコマンド・オプションの省略時設定は OFF です (+z または -z-)。

-a オプションを指定すると、SQLCA データがファイルに書き込まれます。

-z オプションは -e オプションには影響しません。 -e オプションを指定すると、 SQLCODE または SQLSTATE がファイルではなく標準出力に書き込まれます。

-zfilenameDB2OPTIONS に設定すると、 ユーザーはコマンド行から +z (または -z-) オプションを設定して、 特定のコマンド呼び出しの出力データがファイルに書き込まれないようにすることができます。

すべての出力のファイルへの保管オプションは、他のコマンド行プロセッサー・オプションには影響しません。


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]