SET CURRENT PACKAGESET ステートメント

SET CURRENT PACKAGESET ステートメントは、 それ以降の SQL ステートメントで使用するパッケージの選択に使用されるスキーマ名 (コレクション ID) を設定します。

このステートメントは、トランザクションの制御下にありません。

呼び出し

このステートメントは、アプリケーション・プログラムに組み込む方法のみ可能です。 これは、動的に作成できない実行可能ステートメントです。 このステートメントは REXX ではサポートされていません。

許可

必要ありません。

構文

Read syntax diagramSkip visual syntax diagramSETCURRENT PACKAGESET=string-constanthost-variable

説明

ストリング定数
文字ストリング定数です。 値が 128 バイトを超える場合は、先頭の 128 バイトだけが使用されます。
ホスト変数 (host-variable)
タイプ CHAR または VARCHAR の変数です。 NULL に設定することはできません。 値が 128 バイトを超える場合は、先頭の 128 バイトだけが使用されます。

  • このステートメントを使用して、アプリケーションは、 実行可能な SQL ステートメントのパッケージを選択する際に使用するスキーマ名を指定することができます。 このステートメントは、クライアントで処理され、アプリケーション・サーバーへの流れはありません。
  • COLLECTION BIND オプションを使用して、指定したスキーマ名を伴うパッケージを作成できます。
  • Db2® for z/OS®とは異なり、SET CURRENT PACKAGESET ステートメントは CURRENT PACKAGESET という特殊レジスターのサポートなしでインプリメントされます。

  • 例 1: TRYIT というアプリケーションが、ユーザー ID PRODUSA によってプリコンパイルされ、バインド・ファイルのデフォルトのスキーマ名は PRODUSA になっているとします。 その後、このアプリケーションは、 異なる BIND オプションを使用して 2 回バインドされます。 以下のコマンド行プロセッサーのコマンドが使用されました。
       CONNECT TO SAMPLE USER PRODUSA
       BIND TRYIT.BND DATETIME USA
       CONNECT TO SAMPLE USER PRODEUR
       BIND TRYIT.BND DATETIME EUR COLLECTION 'PRODEUR'
    これにより、TRYIT というパッケージが 2 つ作成されます。 最初の BIND コマンドでは、PRODUSA という名前のスキーマでパッケージが作成されます。 2 番目の BIND コマンドでは、COLLECTION オプションに基づいて、PRODEUR という名前のスキーマでパッケージが作成されます。
  • 例 2: ここで、アプリケーション TRYIT に、次のステートメントが含まれていると想定します。
       EXEC SQL CONNECT TO SAMPLE;
       .
       .
       EXEC SQL SELECT HIREDATE INTO :HD FROM EMPLOYEE WHERE EMPNO='000010'; 1
       .
       .
       EXEC SQL SET CURRENT PACKAGESET 'PRODEUR';                            2
       .
       .
       EXEC SQL SELECT HIREDATE INTO :HD FROM EMPLOYEE WHERE EMPNO='000010'; 3
    1
    このステートメントは、 アプリケーションのデフォルトのパッケージである PRODUSA.TRYIT パッケージを使って実行されます。 日付は、USA 形式で戻されます。
    ※2
    このステートメントは、パッケージ選択のスキーマ名を PRODEUR に設定します。
    3
    SET CURRENT PACKAGESET ステートメントの結果として、 このステートメントは PRODEUR.TRYIT パッケージを使用して実行されます。 日付は、EUR 形式で戻されます。