当前包路径 特殊寄存器

CURRENT PACKAGE PATH 指定一个值,用于标识用于解析对执行 SQL 语句的包的引用的路径。 该特殊登记适用于静态和动态陈述。

数据类型为VARCHAR(4096)。 该值可以是空字符串或空白字符串,也可以是一个或多个集合ID的列表,集合ID用双引号括起来并用逗号隔开。 字符串中的引号会像任何分隔标识符中的引号一样重复出现。 特殊登记的长度包括分隔符和逗号。

当前包路径的初始值为空字符串。 只有当应用程序通过SET CURRENT PACKAGE PATH语句明确指定了集合列表时,该值才是集合列表。

用户定义的函数或程序中当前包路径的初始值根据表1中的规则进行继承。

当设置了当前包路径或当前包集时, Db2 使用这些寄存器中的值来解析包的集合。 当前包路径的值优先于当前包集。 在分布式环境中,远程服务器上“当前包路径”的值优先于本地服务器(请求者)上“当前包路径”的值。 有关软件包分辨率的更多信息,请参阅绑定应用程序计划

示例 :在应用程序中使用SQLJ包(在集合 SQLJ1 和 SQLJ2 中)和 JDBC 包在 DB2JAVA 中,设置CURRENT PACKAGE PATH特殊寄存器,首先检查 SQLJ1 ,然后是 SQLJ2 , DB2JAVA:
 SET CURRENT PACKAGE PATH = SQLJ1, SQLJ2, DB2JAVA;
以下语句将主机变量设置为结果列表的值:
 SET :HVPKLIST = CURRENT PACKAGE PATH;
宿主变量的值可以是“ SQLJ1 ”、“ SQLJ2 ”或“ "DB2JAVA" ”。