CURRENT SQLID 专用寄存器

CURRENT SQLID 指定进程的 SQL 授权 ID。

数据类型为VARCHAR(128)。

SQL授权ID为:

  • 用于动态创建的CREATE、GRANT和REVOKE SQL语句授权检查的授权ID。
  • 由动态发出的CREATE语句创建的表空间、数据库、存储组或同义词的所有者。

当前 SQLID 的初始值可以由连接或登录退出例程提供。 如果没有,则初始值为流程的主要授权ID。 在以下情况发生之前,该价值一直有效:

  • SQL授权ID可通过执行SET CURRENT SQLID语句进行更改。
  • 从 CICS® 交易子任务或 IMS 独立区域收到的SIGNON或重新SIGNON请求。
  • Db2 连接已断开。
  • 当在可信连接中运行时,用户会被切换。
用户定义的函数或存储过程中的当前 SQLID 的初始值根据表 1 中的规则继承。

当前 SQLID 只能在当前服务器执行的 SQL 语句中引用。

当前 SQLID 不能作为角色。

示例:SET CURRENT SQLID

示例 1
将当前SQLID设置为主授权ID。
SET CURRENT SQLID = SESSION_USER;
示例 2
将SQL授权ID设置为“ GROUP34 ”(该进程的授权ID之一)。
  SET CURRENT SQLID = 'GROUP34';