ALTER DATABASE ROLE¶
修改现有数据库角色的属性。
目前,唯一支持的操作是重命名数据库角色,或者添加/覆盖/移除数据库角色的注释。
语法¶
ALTER DATABASE ROLE [ IF EXISTS ] <name> RENAME TO <new_name>
ALTER DATABASE ROLE [ IF EXISTS ] <name> SET COMMENT = '<string_literal>'
ALTER DATABASE ROLE [ IF EXISTS ] <name> UNSET COMMENT
ALTER DATABASE ROLE [ IF EXISTS ] <name> SET TAG <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' ... ]
ALTER DATABASE ROLE [ IF EXISTS ] <name> UNSET TAG <tag_name> [ , <tag_name> ... ]
参数¶
name
指定数据库角色的标识符(即名称);对于创建角色的数据库来说必须是唯一的。
标识符必须以字母字符开头,且不能包含空格或特殊字符,除非整个标识符字符串放在双引号内(例如
"My object"
)。放在双引号内的标识符也区分大小写。如果标识符未以
db_name.database_role_name
形式完全限定,则该命令将在会话的当前数据库中查找数据库角色。RENAME TO new_name
指定数据库角色的新标识符;对于账户来说必须唯一。
有关更多详细信息,请参阅 标识符要求。
请注意,在指定数据库角色的完全限定名称时,不能 指定其他数据库。数据库
db_name
的名称必须保持不变。在重命名操作期间,只有database_role_name
可以发生变更。SET ...
指定要为数据库角色设置的属性:
COMMENT = 'string_literal'
为数据库角色添加注释或覆盖现有注释。
UNSET ...
指定要为数据库角色取消设置的属性,将其重置为默认值。
COMMENT
TAG tag_name [ , tag_name ... ]
访问控制权限¶
权限 |
对象 |
备注 |
---|---|---|
OWNERSHIP |
数据库角色 |
只有数据库角色所有者(即,对数据库角色具有 OWNERSHIP 权限的数据库角色)或更高级别的角色才能执行此命令。 所有者角色不会继承向所拥有数据库角色授予的任何权限。要从数据库角色继承权限,必须将该数据库角色授予另一个角色,从而在角色层次结构中创建父子关系。 |
APPLY |
标签 |
允许为数据库角色设置标签。 |
使用说明¶
关于元数据:
注意
客户应确保在使用 Snowflake 服务时,不会将个人数据(用户对象除外)、敏感数据、出口管制数据或其他受监管数据作为元数据输入。有关更多信息,请参阅 Snowflake 中的元数据字段。
示例¶
在数据库 d1
中,将数据库角色 dr1
重命名为 dbr2
:
ALTER DATABASE ROLE d1.dr1 RENAME TO d1.dbr2;
为数据库角色 d1.dbr2
添加注释:
ALTER DATABASE ROLE d1.dbr2 SET COMMENT = 'New comment for database role';