CURRENT PACKAGE PATH 特殊レジスター

CURRENT PACKAGE PATH 特殊レジスターは、 SQL ステートメントの実行時に必要なパッケージの参照の解決に使用されるパスを特定する VARCHAR(4096) 値を指定します。

この値は、空またはブランクのストリングか、 または二重引用符で区切られてさらにコンマで区切られた 1 つ以上のスキーマ名のリストのどちらでも構いません。 ストリング中で二重引用符を使用する場合はすべて、 区切り ID の通常の使用法と同様に 2 つの二重引用符で表記する必要があります。 区切り文字とコンマは、この特殊レジスターの長さの一部を成します。

この特殊レジスターは、静的と動的の両方のステートメントで使用できます。

ユーザー定義の関数、メソッド、またはプロシージャー内の CURRENT PACKAGE PATH の初期値は、 呼び出し側アプリケーションから継承されます。 すなわち、CURRENT PACKAGE PATH の初期値は空ストリングです。 アプリケーションが SET CURRENT PACKAGE PATH ステートメントを使ってスキーマ・リストを明示的に指定していた場合のみ、 その初期値はスキーマのリストになります。

  • アプリケーションは、複数の SQLJ パッケージ (スキーマ SQLJ1 と SQLJ2 に入っています) と、 1 つの JDBC パッケージ (DB2JAVA に入っています) を使用することになっています。 CURRENT PACKAGE PATH 特殊レジスターを設定して SQLJ1、SQLJ2、および DB2JAVA をこの順序で調べます。
       SET CURRENT PACKAGE PATH = "SQLJ1", "SQLJ2", "DB2JAVA"
  • ホスト変数 HVPKLIST に、CURRENT PACKAGE PATH 特殊レジスターに現在保管されている値を設定します。
       VALUES CURRENT PACKAGE PATH INTO :HVPKLIST