11、SQL特殊值、引用及集合函数全解析

SQL特殊值、引用及集合函数全解析

1. 特殊值介绍

SQL:1999支持多种特殊值,这些特殊值对应用程序十分重要。
- SESSION_USER :其返回值等于当前SQL会话的用户授权标识符(简称authID)。例如,你以登录ID ‘JOE_USER’ 登录计算机系统,但向SQL数据库标识自己为 ‘PAYROLL_CLERK’,那么 SESSION_USER 返回的值就是 ‘PAYROLL_CLERK’。
- CURRENT_USER :SQL:1999允许SQL语句在会话的授权标识符或与包含SQL语句的模块关联的用户指定授权标识符(通常称为定义者)下执行。如果模块未指定授权标识符,则使用会话授权标识符(通常称为调用者)。在这种情况下,与模块关联的授权标识符由 CURRENT_USER 指定。若模块没有 authID,那么 CURRENT_USER 和 SESSION_USER 的值相同。
- SYSTEM_USER :这是另一个特殊值,包含一个由实现定义的字符串,用于标识执行SQL:1999模块的操作系统用户。在上述例子中,SYSTEM_USER 将返回 ‘JOE_USER’。不过,并非所有操作系统都能为 SYSTEM_USER 提供有意义的值。

这些特殊值的数据类型为字符串,SQL:1999的具体实现可以指定字符串的长度以及使用固定长度还是可变长度的字符串。为了与早期版本的SQL应用程序兼容,当你想使用 CURRENT_USER 时,可以简单地编写 USER。

这些特殊值的一个重要用途是记录用户身份,例如在一个用于捕获执行某些应用程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值