次の構文図は、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
プリプロセッサーには、連動するデータベースを用意する必要があります。用意しない場合は、エラーが発生します。
COLLECTION オプションには、デフォルト値は存在しません。COLLECTION を指定する場合は、schema-name も指定する必要があります。
デフォルト・オプションの値は、CONNECT(1) です。CON、CONNECT、CON()、および CONNECT() などのオプションのストリングは、CONNECT(1) と判断されます。
オプションの DBUID と DBPWD は大/小文字を区別しませんが、userid 値 (最大長 8 文字) および password の値 (最大長 18 文字) は、両方とも、大/小文字を区別します。
ユーザー ID とパスワードは、コンパイル処理時にデータベース・マネージャーに接続するため、SQL プリプロセッサーのみが使用します。アプリケーションが、実行時に接続する場合は、その接続に対するユーザー ID とパスワードをプログラム内の EXEC SQL CONNECT ステートメントで供給する必要があります。
デフォルト・オプションの値は、DISCONNECT(EXPLICIT) です。DISC、 DISCONNECT、DISC()、DISCONNECT() などのオプションのストリングは、DISCONNECT(EXPLICIT) と判断されます。
NOPLANSYNTAX を指定すると、アクセス・プランは作成されず、構文検査は、DB2 バージョン 2.1 構文に基づいて実行されます。
SCOPE が指定されると、ホスト変数参照を解決するときに、宣言の有効範囲に対する PL/I 規則が適用されます。 つまり、SQL ステートメント内のホスト変数参照は常に、その変数が別の PL/I ステートメントで使用されている場合と同じように解決されます。
NOSCOPE が指定されると、すべてのホスト変数の名前は、各プログラム内で固有である必要があります。 ホスト変数名が複数回宣言されると、SQL ステートメント内のその変数への参照は、最初の宣言を使用して解決されます。
前のリリースでの動作との互換性のために、NOSCOPE がデフォルトになっています。
デフォルト・オプションの値は、SQLRULES(DB2) です。SQLR、 SQLRULES、SQLR()、SQLRULES() などのオプションのストリングは、SQLRULES(DB2) と判断されます。
デフォルト・オプションの値は、SYNCPOINT(ONEPHASE) です。SYNC、SYNCPOINT、SYNC()、SYNCPOINT() などのオプションのストリングは、SYNCPOINT(ONEPHASE) と判断されます。