首页 > 数据库 > > 给用户赋权 的语法 grant
将系统权限或角色授予给用户或其他角色。
SYS用户对象的权限在没有授予用户或角色时,用户不可以将SYS用户对象的权限授予其他用户或角色。
如果是授权系统权限,执行该语句的用户需要满足如下条件之一:
已授权该系统权限,并有WITH ADMIN OPTION属性。
已授权GRANT ANY PRIVILEGE系统权限。
如果是授予角色,执行该语句的用户需要满足如下条件之一:
已授予该角色,并有WITH ADMIN OPTION属性。
已授权GRANT ANY ROLE系统权限。
是该角色的创建者。
如果当前用户访问其他用户的对象时,需先检查被访问的其他用户的对象是否存在
若不存在且当前用户不是SYS用户,则报权限不足错误。
若不存在但当前用户是SYS用户,则报对象不存在错误。
当前用户将自己对象的对象权限授予给别的用户时,不需要GRANT相关权限。
GRANT { ALL [ PRIVILEGES ]
|{ system_privilege_name | role_name } [ , ... ] } TO grantee [ WITH ADMIN OPTION ]
grantee 子句:
{ user_name | role_name } [ , ... ] }
GRANT { object_privilege_name | ALL [PRIVILEGES] } [, ...] ON [schema_name.]object_name TO grantee [ WITH GRANT OPTION ]
object_privilege_name 子句:
{ SELECT | UPDATE | DELETE | INSERT | ALTER | INDEX | EXECUTE | READ | REFERENCES } [, ... ]
grantee 子句:
{ user_name | role_name } [ , ... ]
GRANT {READ | WRITE | EXECUTE } ON DIRECTORY dir_name TO grantee [ WITH GRANT OPTION ]
grantee 子句
{ user_name | role_name } [ , ... ]
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69959250/viewspace-3163086/ ,如需转载,请注明出处,否则将追究法律责任。