SQL 処理オプションの説明
Db2 プリコンパイラーまたは Db2 コプロセッサーのいずれかと関係なく、任意のSQL処理オプションを指定できます。 ただし、同じ情報を提供するホスト言語コンパイラー・オプションが存在するため、Db2コプロセッサーは特定のオプションを無視する場合があります。
次の表は、Db2プリコンパイラーまたはDb2コプロセッサーを使うときに指定できるオプションを示しています。 この表には、これらのオプションの省略形も含まれており、特定のホスト言語または Db2 コプロセッサーに無視されるオプションを示します。 この表では、同時に使用できないオプションを区切るときに縦線 (|) を使用し、 括弧内のオプションを省略できる場合もあることを示すときに、 大括弧 ([ ]) を使用します。
| オプション・キーワード | 意味 |
|---|---|
| APOST1 | Db2プリコンパイラーが、生成するホスト言語ステートメントの文字列区切り文字としてアポストロフィ( ')を使うことを示します。 このオプションは、どの言語にも用意されている訳ではありません。 APOST と QUOTE オプションは、どちらか一方しか指定できません。 デフォルトは、インストール時に「Application Programming Defaults Panel 1 (アプリケーション・プログラミングのデフォルト・パネル 1)」のフィールド「STRING DELIMITER (ストリング区切り文字)」に指定された値です。 STRING DELIMITER がアポストロフィ (') の 場合は、APOST がデフォルトです。 |
| APOSTSQL | SQL ステートメント内では、
アポストロフィ (') はストリング区切り文字、
二重引用符 (") は SQL 拡張文字として認識されます。 APOSTSQL オプションと QUOTESQL オプションは、どちらか一方しか指定できません。 デフォルトは、インストール時に「Application Programming Defaults Panel 1 (アプリケーション・プログラミングのデフォルト・パネル 1)」のフィールド「SQL STRING DELIMITER (SQL ストリング区切り文字)」に指定された値です。 SQL STRING DELIMITER がアポストロフィ (') の 場合は、APOSTSQL がデフォルトです。 |
| ATTACH(TSO|CAF|RRSAF |ULI ) | アプリケーションがアクセスするために使用する添付機能を指定します Db2 接続機能をロードする TSO、CAF、RRSAF、または DSNULI アプリケーションは、ダミーの DSNHLI エントリ ポイントをコーディングする代わりに、このオプションを使用して正しい接続機能を指定できます。
このオプションは FORTRAN アプリケーションには使用できません。 デフォルトは ATTACH(TSO) です。 |
| CCSID (n) | ソース・プログラムが書かれる CCSID の数値 n を指定します。 数値 n は、EBCDIC CCSID であることが必要です。 デフォルト設定は、インストール時にパネル DSNTIPF で指定された ように、EBCDIC システム CCSID です。 Db2 コプロセッサは、ソース文の CCSID を決定するために以下のプロセスを使用します
CCSID は GRAPHIC および NOGRAPHIC SQL 処理オプションを置き換えます。 CCSID(1026) または CCSID(1155)を指定した場合、 Db2 コプロセッサーは、二重引用符 (") のコード・ポイント 'FC'X をサポートしません。 |
| COMMA | 以下のケースにおいては、10 進数リテラル内または浮動小数点リテラル内に現れた
コンマ (,) は小数点標識として認識されます。
COMMA と PERIOD オプションは、どちらか一方しか指定できません。 デフォルト (COMMA または PERIOD) は、インストール時 に「Application Programming Defaults Panel 1 (アプリケーション・プログラミングのデフォルト・パネル 1)」のフィールド「DECIMAL POINT IS (小数点)」で選択されます。 |
connect(2|1)
ct(2|1) |
タイプ 1 またはタイプ 2 の CONNECT ステートメント規則を適用するか
どうかを指定します。
|
| DATE(ISO|USA| EUR|JIS|LOCAL) | ロケーション・デフォルトとして指定された形式に関係なく、
日付出力が常に特定の形式で戻されることを指定します。 デフォルトは、インストール時に「Application Programming Defaults Panel 2 (アプリケーション・プログラミングのデフォルト・パネル 2)」のフィールド「DATE FORMAT (日付形式)」で指定されます。 このデフォルトの形式は、 プログラムがプリコンパイルされたシステムのインストール・デフォルトではなく、 プログラムがバインドされたシステムのインストール・デフォルトによって決まります。 LOCAL オプションは、日付出口ルーチンが用意されていなければ、使用でき ません。 |
DEC(15|31)
DEC15 | DEC31 D15.s | D31.s |
10 進数の算術演算の最大精度を指定します。 デフォルトは、インストール時に「Application Programming Defaults Panel 1 (アプリケーション・プログラミングのデフォルト・パネル 1)」のフィールド「DECIMAL ARITHMETIC (10 進数演算機構)」に指定された値です。 書式 Dpp.s が指定されている 場合、pp は 15 または 31 のいずれかでなければならず、 除算に使用される最小の位取りを表す s は 1 から 9 の 数字にしてください。 |
| DEC P(name ) | name は、使用されるアプリケーション・デフォルトであるデータのみのロード・モジュールの、1 から 8 文字の名前です。 このパラメーターが省略された場合、デフォルト名 DSNHDECP が使用されます。 |
| FLAG(I|W|E|S)1 | 特定の重大度レベルより下の診断メッセージを抑止します (通知、警告、
エラー、および重大エラーは、それぞれ重大度コードが 0、4、8、および 12 になっています)。 デフォルトは FLAG(I) です。 |
| FLOAT(S390|IEEE) | アセンブラ、C、C++、 PL/I プログラムの浮動小数点ホスト変数の内容が、IEEE 浮動小数点形式か z/Architecture® 16 進浮動小数点形式かを判断します。 Db2 HOSTの値がASM、C、CPP、またはPLI以外の場合は、このオプションを無視します。 デフォルトの設定値は FLOAT(S390) です。 |
| GRAPHIC | このオプションは、SQL ステートメントの処理に使用されなくなりました。 代わりに、CCSID オプションを使用します。 ソース・コードが混合データを使用可能であり、 しかも X'0E' および X'0F' が EBCDIC データ用の 特殊制御文字 (シフトアウトおよびシフトイン) であることを示します。 GRAPHIC と NOGRAPHIC オプションは、どちらか一方しか指定できません。 デフォルト (GRAPHIC または NOGRAPHIC) は、インストール時に「Application Programming Defaults Panel 1 (アプリケーション・プログラミングのデフォルト・パネル 2)」のフィールド「MIXED DATA (混合データ)」で指定されます。 |
HOST1(ASM |C[(FOLD)]|
CPP[(FOLD)]| IBMCOB| PLI| FORTRAN| SQL| SQLPL) |
SQL ステートメントを含んでいるホスト言語を定義します。 Enterprise COBOL for z/OS® にはIBMCOBを使用してください。 C の場合、以下のように指定します。
C++ の場合、以下のように指定します。
SQL プロシージャー型言語の場合、以下のように指定します。
HOST オプションを省略すると、Db2 プリコンパイラーはレベル 4 診断メッセージを発行し、このオプションのデフォルト値を使います。 デフォルトは、インストール時に「Application Programming Defaults Panel 1 (アプリケーション・プログラミングのデフォルト・パネル 1)」のフィールド「LANGUAGE DEFAULT (言語のデフォルト)」に指定された値です。 このオプションでは、言語依存のデフォルトも設定します。 |
LEVEL [(aaaa )]
L |
モジュールのレベルを定義します。
ただし、aaaa は、最大 7 文字までの任意の英数字です。 このオプションは一般使用には推奨されておらず、DSNH CLIST また
は DB2I パネルではサポートされません。 アセンブラー、C、C++、FORTRAN、および PL/I の場合は、 サブオプション (aaaa) を省略できます。 その結果得られる整合性トークンはブランクです。 COBOL の場合は、 このサブオプションを指定する必要があります。 |
LINECOUNT1(n )
LC |
Db2 プリコンパイラー・リスト用のページ当たりの行数を n します。 これには、 Db2 プリコンパイラーに挿入されるヘッダー行が含まれます。 デフォルトは LINECOUNT(60) です。 |
マージン 1 (m,n[,c])
3月 |
各ソース・レコードのどの部分にホスト言語または SQL ステートメントが
置かれているかを指定します。 アセンブラーの場合、このオプションは列継続の開始位置も指定します。 最初のオプション (m) はステートメントの開始桁を指定します。 2 番目のオプション (n) はステートメントの終了桁を指定します。 3 番目のオプション (c) は、アセンブラーの継続の開始位置を指定します。 それ以外の場合、Db2 プリコンパイラーは、終了列の直後の列に継続標識を入れます。 マージン値の範囲は1~80です。 デフォルト値は、HOST オプションに何を指定したかによります。 このオプションは、DSNH CLIST または DB2I パネルではサポートされません。 アセンブラーでは、マージン・オプションは、それがソースに現れる場合は、 ICTL 命令と一致していなければなりません。 |
| NEWF UN(Vn ) | 非推奨の機能: NEWFUN 処理オプションは非推奨です。
代わりにSQLLEVELオプションを使用してください。![]() Db2 12の新機能である関数構文規則を受け入れるかどうかを示します。
|
| NOFOR | 静的 SQL において、DECLARE CURSOR ステートメントで文節 FOR UPDATE または FOR UPDATE OF を使用しなくてもよいようにします。 NOFORを使うと、プログラムは、プログラムが更新するDb2権限を持っている任意の列に対して位置付けされた更新を行うことができます。 NOFORを使用しない場合、プログラムが更新するDb2権限を持っている列に位置更新を行う場合は、DECLARECURSORステートメントに列リストを指定せずにFORUPDATEを指定しなければなりません。 列リストを指定しない FOR UPDATE 文節は、 静的または動的 SQL ステートメントに適用されます。 NOFOR を使用するかどうかに関係なく、FOR UPDATE OF と列リストを指定すると、その文節に指定した列のみに更新の対象を制限でき、また更新ロックの獲得を指定できます。 オプション STDSQL(YES) を使用すると、NOFOR が暗黙指定されます。 処理の結果得られる DBRM が非常に大きい場合は、NOFOR を指定するかまたは列リストを指定せず に FOR UPDATE 文節を使用するときにはエクストラ・ストレージが必要となることがあります。 |
| NOGRAPHIC | このオプションは、SQL ステートメントの処理に使用されなくなりました。 代わりに、CCSID オプションを使用します。 X'0E' および X'0F' がストリングの中で使用されても、 制御文字と見なされないことを示します。 GRAPHIC と NOGRAPHIC オプションは、どちらか一方しか指定できません。 デフォルト (GRAPHIC または NOGRAPHIC) は、インストール時に「Application Programming Defaults Panel 1 (アプリケーション・プログラミングのデフォルト・パネル 2)」のフィールド「MIXED DATA (混合データ)」で指定されます。 NOGRAPHIC オプションは、EBCDIC データのみに適用されます。 |
nooptions
nooptn |
Db2プリコンパイラオプションのリストを抑制します。 |
| NOPADNTSTR | NUL 終止符ストリングである出力ホスト変数が、
ブランクで埋め込まれないことを示します。 すなわち、ストリングの終わりに NUL 終止符が付けられる前に
追加のブランクは挿入されません。 PADNTSTR および NOPADNTSTR は、 同時には使用できないオプションです。 デフォルト (PADNTSTR または NOPADNTSTR) は、インストール時に「Application Programming Defaults Panel 2 (アプリケーション・プログラミングのデフォルト・パネル 2)」のフィールド「PAD NUL-TERMINATED (ヌル終了ストリングの埋め込み)」で指定されます。 このオプションは、C および C++ のアプリケーションのみに適用されます。 |
NOSOURCE2
NOS |
Db2 プリコンパイラのソースリストを抑制します。 これはデフォルトです。 |
| NOXREF | Db2 プリコンパイラーの相互参照リストを抑制します。 これはデフォルトです。 |
ワンパスオン |
2 パスで行うと生じる余分な処理時間を回避するために、1 パスで処理します。 宣言は SQL 参照の前に置かなければなりません。 デフォルト値は、HOST オプションに何を指定したかによります。 ONEPASS と TWOPASS オプションは、どちらか一方しか指定できません。 |
オプション1
オプトアウト |
Db2 プリコンパイラー・オプションをリスト表示します。 これはデフォルトです。 |
| PADNTSTR | NUL 終止符ストリングである出力ホスト変数が、
ブランクで埋め込まれ、
ストリングの終わりに NUL 終止符が付けられることを示します。 PADNTSTR および NOPADNTSTR は、 同時には使用できないオプションです。 デフォルト (PADNTSTR または NOPADNTSTR) は、インストール時に「Application Programming Defaults Panel 2 (アプリケーション・プログラミングのデフォルト・パネル 2)」のフィールド「PAD NUL-TERMINATED (ヌル終了ストリングの埋め込み)」で指定されます。 このオプションは、C および C++ のアプリケーションのみに適用されます。 |
| PERIOD | 以下のケースにおいては、10 進数リテラル内または浮動小数点リテラル内に現れた
ピリオド (.) は小数点標識として認識されます。
COMMA と PERIOD オプションは、どちらか一方しか指定できません。 デフォルト (COMMA または PERIOD) は、インストール時 に「Application Programming Defaults Panel 1 (アプリケーション・プログラミングのデフォルト・パネル 1)」のフィールド「DECIMAL POINT IS (小数点)」で指定されます。 |
引用 1
質問 |
Db2プリコンパイラーが、生成するホスト言語ステートメントの文字列区切り文字として引用符( ")を使うことを示します。 QUOTE は、COBOL アプリケーションにのみ有効です。 次のいずれかの組み合わせのプリコンパイラー・オプションが使用されている場合、QUOTE は無効です。
デフォルトは、インストール時に「Application Programming Defaults Panel 1 (アプリケーション・プログラミングのデフォルト・パネル 1)」のフィールド「STRING DELIMITER (ストリング区切り文字)」に指定された値です。 「STRING DELIMITER (ストリング区切り文字)」が二重引用符 (") または DEFAULT ならば、QUOTE がデフォルトです。 APOST と QUOTE オプションは、どちらか一方しか指定できません。 |
| QUOTESQL | SQL ステートメント内では、
二重引用符 (") はストリング区切り文字、アポストロフィ (') は SQL 拡張文字として
認識されます。 このオプションは COBOL にだけ適用されます。 デフォルトは、インストール時に「Application Programming Defaults Panel 1 (アプリケーション・プログラミングのデフォルト・パネル 1)」のフィールド「SQL STRING DELIMITER (SQL ストリング区切り文字)」に指定された値です。 SQL STRING DELIMITER が二重引用符 (") また は DEFAULT である場合は、QUOTESQL がデフォルトとなります。 APOSTSQL オプションと QUOTESQL オプションは、どちらか一方しか指定できません。 |
ソース1
S |
Db2 プリコンパイラーのソースと診断をリストします。 |
| SQL(ALL| DB2 ) | ソースに、Db2 for z/OSによって認識される以外のSQLステートメントが含まれているかどうかを示します。 SQL(ALL)は、 Db2 for z/OS 以外のサーバーでSQLステートメントを実行する必要があるアプリケーションプログラムに推奨されます。DRDAアクセスを使用します。 SQL(ALL)は、プログラム内のSQLステートメントが必ずしも Db2 for z/OS 用ではないことを示します。 したがって、SQLステートメントプロセッサは、 Db2 の構文規則に準拠していないステートメントを受け入れます。 SQLステートメントプロセッサは、分散リレーショナルデータベースアーキテクチャ(DRDA)のルールに従ってSQLステートメントを解釈し、処理します。 また、プログラムが IBM® のSQL予約語を通常の識別子として使用しようとした場合にも、SQLステートメントプロセッサは情報メッセージを表示します。 SQL(ALL) は、SQL ステートメント処理プログラムの制限には影響を与えません。 SQL(Db2)、デフォルトは、 SQL ステートメントを解釈し、Db2 for z/OSで使う構文を検査することを意味します。 データベース・サーバーが Db2 for z/OSである場合は、 SQL(Db2) をお勧めします。 |
SQLLEVEL(V10R1|V11R1 |関数レベル )![]() |
Db2 12 関数レベルで新たに追加されたSQL構文を受け入れるかどうかを示します。
![]() |
| STDSQL(NO|YES)3 | 適合しなければならない出力ステートメントの規則を示します。 STDSQL(YES)3 は、ソース・プログラム内のプリコンパイル済み SQL ステートメントが、SQL 標準の特定の規則に準拠していることを示しています。 STDSQL(NO) は、Db2 の規則に適合することを示します。 デフォルトは、インストール時に「Application Programming Defaults Panel 2 (アプリケーション・プログラミングのデフォルト・パネル 2)」のフィールド「STD SQL LANGUAGE (標準 SQL 言語)」で指定されます。 STDSQL(YES) は、自動的に NOFOR オプションを暗黙指定します。 |
| TIME(ISO|USA|EUR|JIS| LOCAL) | ロケーション・デフォルトとして指定された形式に関係なく、
時刻出力が常に特定の形式で戻されることを指定します。 デフォルトは、インストール時に「Application Programming Defaults Panel 2 (アプリケーション・プログラミングのデフォルト・パネル 2)」のフィールド「TIME FORMAT (時刻形式)」で指定されます。 このデフォルトの形式は、 プログラムがプリコンパイルされたシステムのインストール・デフォルトではなく、 プログラムがバインドされたシステムのインストール・デフォルトによって決まります。 LOCAL オプションは、時刻出口ルーチンが用意されていなければ、使用できません。 |
TWOPASS
TW |
2 パスで処理するので、宣言を参照の前に置く必要がなくなります。 デフォルト値は、HOST オプションに何を指定したかによります。 ONEPASS と TWOPASS オプションは、どちらか一方しか指定できません。 Db2コプロセッサーの場合、PL / Iアプリケーションに対してのみTWOPASSオプションを指定できます。 C/C++ アプリケーションとCOBOL アプリケーションの場合、 Db2 コプロセッサーは ONEPASS オプションを使います。 |
| バージョン (aaaa|AUTO ) | パッケージ、プログラム、およびその結果の DBRM のバージョン ID を定義します。 バージョン ID は、最大 64 個の EBCDIC バイトからなる SQL ID です。 VERSION を 指定すると、SQL ステートメント処理プログラムはプログラム内および DBRM 内に バージョン ID を作成します。 これにより、ロード・モジュールおよび DBRM のサイズが影響を受けます。 Db2 DBRMをパッケージにバインドする際に、バージョン識別子を使用します。 プリコンパイル時にバージョンの指定がないと、空ストリングが デフォルトのバージョン ID になります。 AUTO を指定した場合は、 SQL ステートメント処理プログラムは整合性トークンを使用してバージョン ID を生成します。 整合性トークンがタイム・スタンプの場合、そのタイム・スタンプは ISO 文字形式に変換され、 バージョン ID として使用されます。 使用されるタイム・スタンプは、ストア・クロックの値に基づいています。 |
| XREF5 | SQL ステートメントで使用されている記号のソート済みの相互参照表を リスト出力に組み入れます。 |
注:
|
|
ATTACH(ULI)は、 