CURRENT_ROLE 运算符
CURRENT_ROLE 运算符返回包含正在运行会话的用户的当前启用的角色的名称的字符串。或使
用 SET ROLE 语句在会话中显式地设置了此 role ,或当当前用户连接到数据库时,隐式地设置为
缺省的角色。如果该用户不持有角色,或如果未授予当前启用的用户角色,则 CURRENT_ROLE
返回 NULL 值。如果尚未授予了用户角色,但已将缺省角色授予了 PUBLIC,且已显式地或隐式
地启用了此缺省角色,则 CURRENT_ROLE 返回此缺省角色的名称。
下一语句展示您可以如何使用 CURRENT_ROLE 运算符:
select CURRENT_ROLE FROM systables WHERE tabid = 1;
CURRENT_ROLE 运算符不更改角色的标识符的字母大小写。如果您在表达式中使用
CURRENT_ROLE,且当前角色为 Czarina,则 CURRENT_ROLE 运算符返回 Czarina,而不
是 czarina。
如果您指定 CURRENT_ROLE 作为列的缺省值,则该列必须有 CHAR、VARCHAR、
LVARCHAR、NCHAR 或 NVARCHAR 数据类型。因为角色的名称是授权标识符,因此如果列长
度小于 32 字节,则可能发生截断。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




