ALTER DATABASE ROLE

修改现有数据库角色的属性。

目前,唯一支持的操作是重命名数据库角色,或者添加/覆盖/移除数据库角色的注释。

另请参阅:

CREATE DATABASE ROLEDROP DATABASE ROLESHOW DATABASE ROLES

语法

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> ... ]
Copy

参数

name

指定数据库角色的标识符(即名称);对于创建角色的数据库来说必须是唯一的。

标识符必须以字母字符开头,且不能包含空格或特殊字符,除非整个标识符字符串放在双引号内(例如 "My object")。放在双引号内的标识符也区分大小写。

如果标识符未以 db_name.database_role_name 形式完全限定,则该命令将在会话的当前数据库中查找数据库角色。

RENAME TO new_name

指定数据库角色的新标识符;对于账户来说必须唯一。

有关更多详细信息,请参阅 标识符要求

请注意,在指定数据库角色的完全限定名称时,不能 指定其他数据库。数据库 db_name 的名称必须保持不变。在重命名操作期间,只有 database_role_name 可以发生变更。

SET ...

指定要为数据库角色设置的属性:

COMMENT = 'string_literal'

为数据库角色添加注释或覆盖现有注释。

TAG tag_name = 'tag_value' [ , tag_name = 'tag_value' , ... ]

指定 标签 名称和标签字符串值。

标签值始终为字符串,标签值的最大字符数为 256。

有关在语句中指定标签的信息,请参阅 对象和列的标签配额

UNSET ...

指定要为数据库角色取消设置的属性,将其重置为默认值。

  • COMMENT

  • TAG tag_name [ , tag_name ... ]

访问控制权限

用于执行此 SQL 命令的 角色 必须至少具有以下 权限

权限

对象

备注

OWNERSHIP

数据库角色

只有数据库角色所有者(即,对数据库角色具有 OWNERSHIP 权限的数据库角色)或更高级别的角色才能执行此命令。

所有者角色不会继承向所拥有数据库角色授予的任何权限。要从数据库角色继承权限,必须将该数据库角色授予另一个角色,从而在角色层次结构中创建父子关系。

APPLY

标签

允许为数据库角色设置标签。

使用说明

关于元数据:

注意

客户应确保在使用 Snowflake 服务时,不会将个人数据(用户对象除外)、敏感数据、出口管制数据或其他受监管数据作为元数据输入。有关更多信息,请参阅 Snowflake 中的元数据字段

示例

在数据库 d1 中,将数据库角色 dr1 重命名为 dbr2

ALTER DATABASE ROLE d1.dr1 RENAME TO d1.dbr2;
Copy

为数据库角色 d1.dbr2 添加注释:

ALTER DATABASE ROLE d1.dbr2 SET COMMENT = 'New comment for database role';
Copy
语言: 中文