SQL 解説書

SET CURRENT PACKAGESET

SET CURRENT PACKAGESET ステートメントは、 それ以降の SQL ステートメントで使用するパッケージの選択に使用されるスキーマ名 (コレクション識別子) を設定します。 このステートメントは、トランザクションの制御下にありません。

呼び出し

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

許可

権限は不要です。

構文

                            .-=-.
>>-SET--CURRENT PACKAGESET--+---+----+-string-constant-+-------><
                                     '-host-variable---'
 

説明

string-constant
30 文字を超えない文字ストリング定数。 最大長を超える場合、その部分は実行時に切り捨てられます。

host-variable
30 文字を超えないタイプ CHAR または VARCHAR の変数。 NULL に設定することはできません。 最大長を超える場合、その部分は実行時に切り捨てられます。

TRYIT というアプリケーションがユーザー ID PRODUSA によってプリコンパイルされ、 バインド・ファイルのデフォルトのスキーマ名は 'PRODUSA' になっていると想定します。 その後、このアプリケーションは、 異なるバインド・オプションを使用して 2 回バインドされます。 以下のコマンド行プロセッサーのコマンドが使用されました。

DB2 CONNECT TO SAMPLE USER PRODUSA
DB2 BIND TRYIT.BND DATETIME USA
DB2 CONNECT TO SAMPLE USER PRODEUR
DB2 BIND TRYIT.BND DATETIME EUR COLLECTION 'PRODEUR'

これにより、TRYIT というパッケージが 2 つ作成されます。 最初の BIND コマンドでは、'PRODUSA' というスキーマにパッケージが作成されます。 2 番目 BIND コマンドでは、COLLECTION オプションに基づいて 'PRODEUR' というスキーマにパッケージが作成されます。

ここで、アプリケーション 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 形式で戻されます。


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]