Rational Developer for System z
PL/I for Windows, Version 7.6, プログラミング・ガイド

SQL プリプロセッサーのオプション

次の構文図は、SQL プリプロセッサーによってサポートされるオプション をすべて示しています。

構文図を読む構文図をスキップする>>-PP--(--SQL--(--'--DBNAME-(dbname)---------------------------->
 
>--+---------------------------+-------------------------------->
   '-BLOCK-+-----------------+-'
           |   .-UNAMBIG-.   |
           '-(-+---------+-)-'
               +-ALL-----+
               '-NO------'
 
   .-NOBIND--------------------.
>--+---------------------------+-------------------------------->
   '-BIND-+------------------+-'
          '-(-+----------+-)-'
              '-bindname-'
 
>--+---------------------------------------+-------------------->
   '-CALL_RESOLUTION-+-------------------+-'
                     |   .-IMMEDIATE-.   |
                     '-(-+-----------+-)-'
                         '-DEFERRED--'
 
>--+------------------------------------+----------------------->
   '-COLLECTION-+---------------------+-'
                '-(-+-------------+-)-'
                    '-schema-name-'
 
>--+-----------------------+--+--------------------------+------>
   '-CONNECT-+-----------+-'  '-DATETIME-+-------------+-'
             |   .-1-.   |               |   .-DEF-.   |
             '-(-+---+-)-'               '-(-+-----+-)-'
                 '-2-'                       +-USA-+
                                             +-EUR-+
                                             +-ISO-+
                                             +-JIS-+
                                             '-LOC-'
 
>--+---------------+--+-----------------+--'--)--)-------------->
   '-DBUID(userid)-'  '-DBPWD(password)-'
 
   .-NODECK-.
>--+--------+--+------------------------------------+----------->
   '-DECK---'  '-DISCONNECT-+---------------------+-'
                            |   .-EXPLICIT----.   |
                            '-(-+-------------+-)-'
                                +-AUTOMATIC---+
                                '-CONDITIONAL-'
 
   .-NOINCONLY-.
>--+-----------+--+------------------------+-------------------->
   '-INCONLY---'  '-INSERT-+-------------+-'
                           |   .-DEF-.   |
                           '-(-+-----+-)-'
                               '-BUF-'
 
                                 .-ONEPASS-.  .-NOOPTIMIZE-.
>--+--------------------------+--+---------+--+------------+---->
   '-ISOLATION-+------------+-'  '-TWOPASS-'  '-OPTIMIZE---'
               |   .-CS-.   |
               '-(-+----+-)-'
                   +-RR-+
                   +-RS-+
                   '-UR-'
 
>--+------------------------------------+----------------------->
   '-OWNER-+--------------------------+-'
           '-(-+------------------+-)-'
               '-authorization-id-'
 
                                  .-NOPRINT-.
>--+---------------------------+--+---------+------------------->
   +-PLAN-+------------------+-+  '-PRINT---'
   |      '-(-+----------+-)-' |
   |          '-planname-'     |
   +-NOPLAN--------------------+
   '-NOPLANSYNTAX--------------'
 
                                             .-NOSCOPE-.
>--+--------------------------------------+--+---------+-------->
   '-QUALIFIER-+------------------------+-'  '-SCOPE---'
               '-(-+----------------+-)-'
                   '-qualifier-name-'
 
>--+-------------------------------+---------------------------->
   '-SQLFLAG-+-------------------+-'
             |   .-MVSDB2V23-.   |
             '-(-+-----------+-)-'
                 +-MVSDB2V31-+
                 '-MVSDB2V41-'
 
                                 .-NOSOURCE-.
>--+--------------------------+--+----------+------------------->
   '-SQLRULES-+-------------+-'  '-SOURCE---'
              |   .-DB2-.   |
              '-(-+-----+-)-'
                  '-STD-'
 
>--+--------------------------------+--------------------------->
   '-SYNCPOINT-+------------------+-'
               |   .-ONEPHASE-.   |
               '-(-+----------+-)-'
                   +-TWOPHASE-+
                   '-NONE-----'
 
>--+-----------------------------------------+------------------>
   '-TBQUAL-+------------------------------+-'
            '-(-+----------------------+-)-'
                '-table-qualifier-name-'
 
>--+---------------------------+-------------------------------->
   '-VALIDATE-+--------------+-'
              |   .-BIND-.   |
              '-(-+------+-)-'
                  '-RUN--'
 
>--+--------------------------------+--------------------------><
   '-VERSION-+--------------------+-'
             |   .-version-id-.   |
             '-(-+------------+-)-'
                 '-AUTO-------'
 

省略形: DB、BLK、CRESO、DT、ISOL、ON、TW、S、NS、D、ND、OPT、NOPT、INS、 COL、CON、DISC、SQLR、SYNC

DBNAME
データベースの元来の名前または別名を指定します。このオプションを使用して、指定したデータベースに対して、SQL ステートメントを処理するようにプリプロセッサーに指示します。このオプションを省略するか、データベース名を指定しない場合、プリプロセッサーは、暗黙的な接続が使用可能な場合には、デフォルト・データベースを使用します。デフォルト・データベースは、環境変数 DB2DBDFT によって指定されます。詳細な説明は、DB2 の資料を参照してください。

プリプロセッサーには、連動するデータベースを用意する必要があります。用意しない場合は、エラーが発生します。

BLOCK
使用するレコード・ブロッキングのタイプおよび未確定カーソルの処理方法を指定します。このオプションに対する有効な値は、以下のとおりです。
UNAMBIG
ブロッキングは、読取専用カーソル、FOR UPDATE OF として指定されていないカーソル、静的な DELETE WHERE CURRENT OF ステートメントを持たないカーソル、および動的ステートメントを持たないカーソルに対して行われます。未確定カーソルは、更新可能です。
ALL
ブロッキングは、読取専用カーソル、FOR UPDATE OF として指定されていないカーソル、および静的な DELETE WHERE CURRENT OF ステートメントが実行されないカーソルに対して行われます。未確定かつ動的なカーソルは、読取専用として処理されます。
NO
ブロッキングは、パッケージ内のどのカーソルに対しても行われません。未確定カーソルは、更新可能です。
BIND または NOBIND
バインド・ファイル bindname を作成するかどうかを決定します。 バインド・ファイルは、拡張子が .BND であり、現行ディレクトリーまたは IBM_BIND 環境変数によって指定された ディレクトリーのいずれかに保管されます。 バンド名は、指定しない場合、入力ソース・ファイルの名前にデフォルト設定されます。
CALL_RESOLUTION
CALL ステートメントが推奨されない sqleproc() API の呼び出しとして、または通常の SQL ステートメントとして 実行するかどうかを判別します。 プリコンパイラーが CALL ステートメント上のプロシージャーを CALL_RESOLUTION IMMEDIATE で解決できない場合、SQL0204 が 発行されることに注意してください。
IMMEDIATE
CALL ステートメントは、通常の SQL ステートメントとして実行されます。 これはデフォルトです。
DEFERRED
CALL ステートメントは、推奨されない sqleproc() API の呼び出しとして実行されます。
COLLECTION
パッケージに対する 8 文字のコレクション ID を指定します。
schema-name
8 文字の ID です。

COLLECTION オプションには、デフォルト値は存在しません。COLLECTION を指定する場合は、schema-name も指定する必要があります。

CONNECT
データベースに対して行われる CONNECT タイプを指定します。
1
1 を指定すると、CONNECT コマンドが、タイプ 1 CONNECT として処理されます。これが、デフォルト設定です。
2
2 を指定すると、CONNECT コマンドが、タイプ 2 CONNECT として処理されます。

デフォルト・オプションの値は、CONNECT(1) です。CON、CONNECT、CON()、および CONNECT() などのオプションのストリングは、CONNECT(1) と判断されます。

DATETIME
日付フィールドと時刻フィールドに、ホスト変数のストリング表現を割り当てるときに使用する日付形式と時刻形式を決定します。以下の 3 文字の省略形が、変数 location に対して有効です。
DEF
データベースの国別コードに関連する日付/時刻形式を使用します。これは、DATETIME が指定されていない場合のデフォルトでもあります。
USA
U.S. 形式に対する IBM 標準です。
  • 日付形式: mm/dd/yyyy
  • 時刻形式: hh:mm xM (AM or PM)
EUR
ヨーロッパ形式に対する IBM 標準です。
  • 日付形式: dd.mm.yyyy
  • 時刻形式: hh.mm.ss
ISO
国際標準化機構
  • 日付形式: yyyy-mm-dd
  • 時刻形式: hh.mm.ss
JIS
日本工業規格
  • 日付形式: yyyy-mm-dd
  • 時刻形式: hh.mm.ss
LOC
ローカル形式で、DEF と必ずしも等しくなるとは限りません。
DBUID または DBPWD
リモート接続の試行時に、ユーザー ID とパスワードの指定を要求するデータベース・マネージャーに対して、useridpassword を指定することを可能にします。 例えば、ユーザー ID やパスワードは、Windows サーバーに常駐するリモート・データベースに対するコンパイル時に必要となる場合があります。

オプションの DBUID と DBPWD は大/小文字を区別しませんが、userid 値 (最大長 8 文字) および password の値 (最大長 18 文字) は、両方とも、大/小文字を区別します。

ユーザー ID とパスワードは、コンパイル処理時にデータベース・マネージャーに接続するため、SQL プリプロセッサーのみが使用します。アプリケーションが、実行時に接続する場合は、その接続に対するユーザー ID とパスワードをプログラム内の EXEC SQL CONNECT ステートメントで供給する必要があります。

DECK または NODECK
このオプションを指定すると、SQL プリプロセッサー出力ソースは、拡張子 .DEK を持つ ファイルに書き込まれ、そのファイルは現行ディレクトリーに入れられます。
DISCONNECT
データベースに対して行われる DISCONNECT タイプを指定します。
EXPLICIT
このオプションを指定すると、RELEASE ステートメントで明示的に解放用とマークされたデータベース接続のみが、コミット時に切断されます。これが、デフォルト設定です。
AUTOMATIC
このオプションを指定すると、すべてのデータベース接続が、コミット時に切断されます。
CONDITIONAL
このオプションを指定すると、RELEASE とマークされているか、開いている WITH HOLD カーソルを持たないデータベース接続が、コミット時に切断されます。

デフォルト・オプションの値は、DISCONNECT(EXPLICIT) です。DISC、 DISCONNECT、DISC()、DISCONNECT() などのオプションのストリングは、DISCONNECT(EXPLICIT) と判断されます。

INCONLY または NOINCONLY
SQL プリプロセッサーで EXEC SQL INCLUDE ステートメントのみを処理するかどうかを決定します。INCONLY が指定されると、SQL プリプロセッサーによってコードは生成されず、すべての EXEC SQL INCLUDE ステートメントが展開されます。 NOINCONLY が指定されると、SQL プリプロセッサーによってすべてのステートメントが処理され、コードが生成されます。 INCONLY と NOINCONLY は相互に排他的で、互換性のために NOINCONLY がデフォルトになっています。
INSERT
DB2/6000 Parallel Edition サーバー上のパフォーマンスを向上させるため、挿入データをバッファーに入れることを要求します。
DEF
VALUES による標準 INSERT 実行を使用します。これが、デフォルト設定です。
BUF
VALUES による INSERT 実行時にバッファリングを使用します。
注:
このオプションは、DB2 Parallel Edition サーバーに対するプリコンパイル時に限り使用できます。INSERT を DB2 V1.x サーバーに対して使用すると、INSERT は無視され、警告メッセージが発行されます。INSERT を DB2 V2.x サーバーに対して使用すると、INSERT は無視され、警告メッセージが発行され、そのオプションがバインド・ファイルに追加されます。
ISOLATION
このパッケージにバインドされているプログラムが他の実行プログラムの影響からどこまで分離できるかを決定します。
CS
分離レベルとして、カーソル固定を指定します。
RR
分離レベルとして、反復可能読み取りを指定します。
RS
分離レベルとして、読み取り固定を指定します。 読み取り固定では、パッケージ内の SQL ステートメントの実行が、アプリケーションによって読み取りおよび変更される行について、 他のアプリケーション・プロセスから確実に分離されます。
UR
分離レベルとして、非コミット読み取りを指定します。
ONEPASS または TWOPASS
ONEPASS がデフォルトであり、ホスト変数は使用前に宣言する必要があることを示します。 TWOPASS を使用すると、使用前にホスト変数を宣言する必要のないことが指示されます。
OPTIMIZE または NOOPTIMIZE
OPTIMIZE を指定すると、SQLDA 初期設定は、ホスト変数を使用する SQL ステートメント用に最適化されます。 ホスト変数のアドレスがプログラム実行中に変化する可能性のある場合、または AUTOMATIC ホスト変数を使用する場合は、このオプションを 指定しないでください。 (NOOPTIMIZE) がデフォルトです。
OWNER
パッケージ所有者の 30 文字の authorization-id を指定します。 所有者は、パッケージに含まれる SQL ステートメントの実行に必要な特権を持っている必要があります。 SYSADM または DBADM 権限を持つユーザーのみが、ユーザー ID 以外の authorization-id を指定できます。 デフォルト値は、プリコンパイル/バインド処理の基本許可 ID です。 SYSIBM、SYSCAT および SYSSTAT は、このオプションには無効な値です。
PLAN、NOPLAN、または NOPLANSYNTAX
アクセス・プラン planname を作成するかどうかを決定します。プラン名は、指定しない場合、入力ソース・ファイルの名前にデフォルト設定されます。

NOPLANSYNTAX を指定すると、アクセス・プランは作成されず、構文検査は、DB2 バージョン 2.1 構文に基づいて実行されます。

PRINT または NOPRINT
SQL プリプロセッサーによって生成されるソース・コードを、後続のプリプロセッサーまたはコンパイラーの生成する ソース・リスト (1 つ以上) 内に印刷するかどうかを指定します。
QUALIFIER
パッケージに含まれる非修飾オブジェクトに 30 文字の暗黙修飾子名を提供します。 所有者が明示的に指定されているかどうかに関係なく、デフォルトは所有者の許可 ID です。
SCOPE または NOSCOPE
宣言の有効範囲に対する PL/I 規則が、ホスト変数参照を解決するときに適用されるかどうかを決定します。

SCOPE が指定されると、ホスト変数参照を解決するときに、宣言の有効範囲に対する PL/I 規則が適用されます。 つまり、SQL ステートメント内のホスト変数参照は常に、その変数が別の PL/I ステートメントで使用されている場合と同じように解決されます。

NOSCOPE が指定されると、すべてのホスト変数の名前は、各プログラム内で固有である必要があります。 ホスト変数名が複数回宣言されると、SQL ステートメント内のその変数への参照は、最初の宣言を使用して解決されます。

前のリリースでの動作との互換性のために、NOSCOPE がデフォルトになっています。

SOURCE または NOSOURCE
SQL プリプロセッサーへのソース入力を印刷するかどうかを指定します。
SQLFLAG
このオプションで指定された SQL 言語構文からの逸脱を特定し、報告します。このオプションを指定しない場合、flagger 機能は呼び出されません。詳細な説明は、DB2 の資料を参照してください。
MVSDB2V23
SQL ステートメントが、MVS DB2 V2.3 SQL 言語構文に基づいて検査されます。これが、デフォルト設定です。
MVSDB2V31
SQL ステートメントが、MVS DB2 V3.1 SQL 言語構文に基づいて検査されます。
MVSDB2V41
SQL ステートメントが、MVS DB2 V4.1 SQL 言語構文に基づいて検査されます。
SQLRULES
DB2 規則または ISO/ANS SQL92 に基づく標準 (STD) 規則のいずれかに従って、タイプ 2 CONNECT を処理するかを指定します。
DB2
SQL CONNECT ステートメントを使用して、現行接続から別の確立されている (休止状態) の接続への切り替えを可能にします。これが、デフォルト設定です。
STD
SQL CONNECT ステートメントを使用して新規の接続に限りその確立を行うことを可能にします。休止接続に切り替えるには、SQL SET CONNECTION を使用する必要があります。

デフォルト・オプションの値は、SQLRULES(DB2) です。SQLR、 SQLRULES、SQLR()、SQLRULES() などのオプションのストリングは、SQLRULES(DB2) と判断されます。

SYNCPOINT
複数のデータベース接続の間でコミットまたはロールバックを調整する方法を指定します。
ONEPHASE
このオプションを指定すると、トランザクション・マネージャー (TM) を使用する 2 フェーズ・コミットを実行しません。1 フェーズ・コミットを使用して、複数のデータベース・トランザクションで、各データベースが行った処理をコミットします。これが、デフォルト設定です。
TWOPHASE
これを指定すると、このプロトコルをサポートするデータベース間の 2 フェーズ・コミットを調整するために TM が必要となります。
NONE
これを指定すると、TM を使用する 2 フェーズ・コミットを実行されず、TM は、単一の更新プログラム、複数の読み取りプログラムを実行しません。COMMIT が、各参加しているデータベースに送信されます。どのコミットが失敗しても、回復の責任は、アプリケーション側にあります。

デフォルト・オプションの値は、SYNCPOINT(ONEPHASE) です。SYNC、SYNCPOINT、SYNC()、SYNCPOINT() などのオプションのストリングは、SYNCPOINT(ONEPHASE) と判断されます。

TBQUAL
パッケージに含まれる非修飾オブジェクトに 8 文字の暗黙テーブル修飾子名を提供します。
VALIDATE
許可エラーおよび「オブジェクトが見つからないエラー」をデータベース・マネージャーがいつチェックするかを決定します。 パッケージ所有者の許可 ID が、妥当性検査に使用されます。
BIND
妥当性検査はプリコンパイル/バインド時に実行されます。 すべてのオブジェクトが存在しない場合、またはすべての権限が保持されていない場合は、エラー・メッセージが生成されます。 sqlerror continue を指定した場合は、エラー・メッセージに関係なく、パッケージ/バインド・ファイルが 生成されますが、エラーのあるステートメントは実行できません。
RUN
妥当性検査はバインド時に実行されます。 すべてのオブジェクトが存在し、すべての権限が保持されている場合、実行時にそれ以上の検査は行われません。 すべてのオブジェクトが存在しない場合、またはすべての権限がプリコンパイル/バインド時に保持されていない場合は、 警告メッセージが生成され、sqlerror continue オプション設定に関係なく、パッケージは正常に バインドされます。 ただし、プリコンパイル/バインド処理中に権限検査および存在検査をパスしなかった SQL ステートメントに対しては、 実行時にこれらの検査を再実行できます。
VERSION
パッケージのバージョン ID を定義します。 このオプションを指定しない場合、パッケージ・バージョンは "" (空ストリング) となります。
version-id
任意の英数字値、$、#、@、_、-、または . (文字長は最大 64 文字) を使用して、バージョン ID を指定します。
AUTO
バージョン ID が整合性トークンから生成されます。 整合性トークンがタイム・スタンプである場合 (LEVEL オプションを指定しない場合)、タイム・スタンプは ISO 文字フォーマットに 変換され、バージョン ID として使用されます。

Terms of use | Feedback

This information center is powered by Eclipse technology. (http://www.eclipse.org)