sql局部变量和全局变量_有效使用SQL内置全局变量

2023-11-20

SQL内置全局变量是只读的,由IBM®DB2®for i维护,并且是受信任且易于使用的资源。 存在一些全局变量是为了与DB2系列兼容,并且包含在SYSIBM模式中。 其他全局变量提供IBM i特定的值,并包含在QSYS2模式中。 全局变量使应用程序和用户可以轻松访问有用的环境信息,这些信息可用于审核和调试。 它们允许改进的应用程序日志记录以及更高级的出口点程序,触发器程序以及行和列访问控制(RCAC)规则文本。

表1包含有关SQL内置全局变量的一般信息。 内置全局变量在IBM i 7.2之前的版本中不可用。

表1. SQL内置全局变量的一般信息
变量名 架构图 数据类型 尺寸 SF99702等级 SF99703等级
PROCESS_ID QSYS2 整数 -- 11级 7.3基
THREAD_ID QSYS2 比金特 -- 11级 7.3基
JOB_NAME QSYS2 VARCHAR 28 3级 7.3基
SERVER_MODE_JOB_NAME QSYS2 VARCHAR 28 3级 7.3基
CLIENT_IPADDR SYSIBM VARCHAR 128 7.2基 7.3基
CLIENT_HOST SYSIBM VARCHAR 255 7.2基 7.3基
CLIENT_PORT SYSIBM 整数 -- 7.2基 7.3基
ROUTINE_SCHEMA SYSIBM VARCHAR 128 7.2基 7.3基
ROUTINE_SPECIFIC_NAME SYSIBM VARCHAR 128 7.2基 7.3基
ROUTINE_TYPE SYSIBM 焦炭 1个 7.2基 7.3基
包裹名字 SYSIBM VARCHAR 128 7.2基 7.3基
PACKAGE_SCHEMA SYSIBM VARCHAR 128 7.2基 7.3基
PACKAGE_VERSION SYSIBM VARCHAR 64 7.2基 7.3基

您可以在QSYS2.SYSVARIABLES目录中找到内置的全局变量。 显示所有可用SQL内置全局变量的查询是:

SELECT VARIABLE_SCHEMA, VARIABLE_NAME
    FROM QSYS2.SYSVARIABLES
    WHERE VARIABLE_SCHEMA = 'QSYS2' OR
          VARIABLE_SCHEMA = 'SYSIBM';

在引入这些内置全局变量之前,在SQL中获取此信息的唯一方法是创建一个外部过程或函数,以从系统API获取信息并返回该信息。 具有内置的全局变量消除了这种工作,并提高了效率。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

sql局部变量和全局变量_有效使用SQL内置全局变量 的相关文章

随机推荐