Skip to content

库级权限

语法格式

授予库级权限

sql
GrantStmt::=
    GRANT sys_privilege [,sys_privilege] TO grantee_list [WITH GRANT OPTION]

说明:

授权操作类型与操作对象类型应保证匹配,例如针对 PROCEDURE对象,可为其赋予CREATEALTERDROPEXECUTE等权限,但不能赋予INSERTUPDATEDELETESELECT等权限。

回收库级权限

sql
RevokeStmt::=
    REVOKE GRANT OPTION FOR sys_privilege [,sys_privilege] FROM grantee_list
|   REVOKE sys_privilege [,sys_privilege] FROM grantee_list

权限信息

sql
sys_privilege::=
    {DBA | SSO | AUDITOR | BACKUP DATABASE | BACKUP | RESTORE | RESTORE DATABASE | sys_operation obj_type}

sys_operation::=
    {CREATE | CREATE ANY | ALTER ANY | DROP ANY | SELECT ANY | INSERT ANY | UPDATE ANY | DELETE ANY | EXECUTE ANY | REFERENCES ANY | VACUUM ANY | ENCRYPT ANY}

obj_type::=
    {DATABASE | SCHEMA | TABLE | SEQUENCE | INDEX | VIEW | PROCEDURE | PACKAGE | TRIGGER | DATABASE LINK | REPLICATION | SYNONYM | PUBLIC SYNONYM | USER | ROLE | JOB}
    
grantee_list::=
    {ROLE  UserId | UserId} [{,} {ROLE  UserId | UserId}]...

参数说明

  • sys_privilege:库级权限。
  • grantee_list:被授予/回收权限角色组或用户组,可同时授予/回收多个用户或角色,若角色权限授予/回收则角色下的所有用户均自动授予/回收该权限。
  • WITH GRANT OPTION:权限可转授,权限的赋予和回收是关联的,如将WITH GRANT OPTION用于对象授权时,被授予的用户也可把此对象权限授予其他用户或角色,权限回收时转授的权限会一同被收回,WITH GRANT OPTION只能在授予对象级和列级权限时使用。
  • REVOKE GRANT OPTION FOR:回收GRANT语句中指定的WITH GRANT OPTION的转授权限,用户仍然具有该权限,但是不能将该权限转授予其他用户。
  • sys_operation:操作类型,包含 DDL、DML 类型,如:CREATEALTERDROPINSERTDELETEUPDATESELECT等,若选择ANY参数则表示被授权对象可跨模式进行操作,否则只能在其所有模式进行相应操作。
  • obj_type:表示操作对象类型,包含TABLEVIEWPROCEDURE等。(SYNONYM为私有同义词、PUBLIC SYNONYM为全局同义词 )。

示例

授予test_user在当前库下所有模式的创表权限,若无ANY关键字则表示,test_user只能在属于他的模式下进行创表。

sql
GRANT CREATE ANY TABLE TO test_user;