GRANT
引入或更新于:v1.2.275
授予特定数据库对象的权限、角色和所有权。包括:
- 授予用户或角色权限。
- 将角色分配给用户或其他角色。
- 将所有权转移给角色。
另请参阅:
语法
授予权限
要了解什么是权限及其工作原理,请参阅权限。
GRANT {
schemaObjectPrivileges | ALL [ PRIVILEGES ] ON <privileges_level>
}
TO [ ROLE <role_name> ] [ <user_name> ]
其中:
schemaObjectPrivileges ::=
-- 对于 TABLE
{ SELECT | INSERT }
-- 对于 SCHEMA
{ CREATE | DROP | ALTER }
-- 对于 USER
{ CREATE USER }
-- 对于 ROLE
{ CREATE ROLE}
-- 对于 STAGE
{ READ, WRITE }
-- 对于 UDF
{ USAGE }
privileges_level ::=
*.*
| db_name.*
| db_name.tbl_name
| STAGE <stage_name>
| UDF <udf_name>
授予角色
要了解什么是角色及其工作原理,请参阅角色。
-- 将角色授予用户
GRANT ROLE <role_name> TO <user_name>
-- 将角色授予角色
GRANT ROLE <role_name> TO ROLE <role_name>
授予所有权
要了解什么是所有权及其工作原理,请参阅所有权。
-- 将数据库中特定表的所有权授予角色
GRANT OWNERSHIP ON <database_name>.<table_name> TO ROLE '<role_name>'
-- 将 stage 的所有权授予角色
GRANT OWNERSHIP ON STAGE <stage_name> TO ROLE '<role_name>'
-- 将用户定义函数 (UDF) 的所有权授予角色
GRANT OWNERSHIP ON UDF <udf_name> TO ROLE '<role_name>'