内置全局变量

内置全局变量随数据库管理器一起提供,并在 SQL 语句中用于检索与变量关联的标量值。

例如,在 SQL 语句中引用 ROUTINE_TYPE 全局变量以检索当前例程类型。

对于大多数内置全局变量,检索全局变量值的任何语句的授权标识都需要具有对全局变量或 DATAACCESS 权限的 READ 特权。 但是,如果具有其他数据库权限的授权标识也有权访问全局变量,那么存在异常。 在内置全局变量的描述中指定了检索全局变量值所需的授权异常。

在非限制性数据库中,将在创建时向 PUBLIC 授予对大多数内置全局变量的 READ 特权。 在内置全局变量的描述中指定了授予此特权的例外。

示例

  • 要访问全局变量 CLIENT_HOST ,请运行以下查询:
    VALUES SYSIBM.CLIENT_HOST
    此查询返回当前客户机的主机名:
    1         
    ----------
    hotellnx93
    
    调用全局变量的替代方法是在 SELECT 语句中使用该变量:
    SELECT C1, C2 
      FROM T1
      WHERE C3 = CLIENT_HOST
  • 对于读/写全局变量,使用 SET variable 语句设置值:
    SET NLS_STRING_UNITS = 'CODEUNITS32'