DEFAULT_ROLE 运算符
DEFAULT_ROLE 运算符求值为包含已授予了正在运行会话的用户的缺省角色的名称的字符串。
此缺省角色无需当前已经启用,但自从最近的 GRANT DEFAULT ROLE 语句在 TO 子句引用的
该用户或 PUBLIC 以来,它必须未被调用。
如果没有为当前用户显式地定义缺省角色,但 PUBLIC 有缺省角色,则 DEFAULT_ROLE 返回
PUBLIC 的缺省角色。
如果用户没有缺省角色,或如果最近将缺省角色显式地授予了该用户,或随后通过 REVOKE
DEFAULT ROLE 语句作为 PUBLIC 调用了,则 DEFAULT_ROLE 返回 NULL 值。如果用户尚
未被单个地授予了缺省角色,但已将缺省角色授予了 PUBLIC,则 DEFAULT_ROLE 运算符返回
此缺省角色的名称。然而,如果当前未为用户也未为 PUBLIC 定义缺省角色,则
DEFAULT_ROLE 返回 NULL。
SET ROLE 语句对 DEFAULT_ROLE 运算符不起作用,但如果 SET ROLE 已激活了某其他角
色,或如果 SET ROLE 指定了 NULL 或 NONE 作为用户的当前角色,则用户没必要获得缺省角
色的任何访问权限。
下一语句展示您可以如何使用 DEFAULT_ROLE 运算符:
select DEFAULT_ROLE from systables where tabid = 1;
DEFAULT_ROLE 不更改角色的标识符的字母大小写。
如果您指定 DEFAULT_ROLE 作为列的缺省值,则该列必须有 CHAR、VARCHAR、
LVARCHAR、NCHAR 或 NVARCHAR 数据类型。由于角色的名称是授权标识符,因此如果列宽
小于 32 字节,则可能发生截断。(要了解授权标识符的语法,请参阅 所有者名称。)
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




