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';