SET CURRENT PACKAGESET ステートメント
SET CURRENT PACKAGESET ステートメントは、 それ以降の SQL ステートメントで使用するパッケージの選択に使用されるスキーマ名 (コレクション ID) を設定します。
このステートメントは、トランザクションの制御下にありません。
呼び出し
このステートメントは、アプリケーション・プログラムに組み込む方法のみ可能です。 これは、動的に作成できない実行可能ステートメントです。 このステートメントは REXX ではサポートされていません。
許可
必要ありません。
構文
説明
- ストリング定数
- 文字ストリング定数です。 値が 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 回バインドされます。 以下のコマンド行プロセッサーのコマンドが使用されました。
これにより、TRYIT というパッケージが 2 つ作成されます。 最初の BIND コマンドでは、CONNECT TO SAMPLE USER PRODUSA BIND TRYIT.BND DATETIME USA CONNECT TO SAMPLE USER PRODEUR BIND TRYIT.BND DATETIME EUR COLLECTION 'PRODEUR'
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 形式で戻されます。