You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Oracle中授予用户组可转授增改查删权限的SQL语句咨询

Oracle权限转授问题解答

问题1:让用户组具备权限转授能力的SQL语句

要让用户组(Oracle中通常指角色)能够把获得的对象权限(比如查询、更新这类表级权限)转授给其他用户,核心是在GRANT语句末尾加上WITH GRANT OPTION子句。

举个实际例子:如果要给用户组Data_Editor授予Orders表的查询和更新权限,同时允许它把这些权限转授出去,SQL语句是这样的:

GRANT SELECT, UPDATE ON Orders TO Data_Editor WITH GRANT OPTION;

额外说明:如果你的需求是让用户组能把角色本身授予其他用户(不是角色拥有的具体权限),那就要用WITH ADMIN OPTION,比如:

GRANT Data_Editor TO Manager_User WITH ADMIN OPTION;

这时Manager_User就可以把Data_Editor角色分配给其他用户了。


问题2:完善已有GRANT语句,添加权限转授能力

你写的基础语句已经覆盖了需要的权限,只要在末尾加上WITH GRANT OPTION,就能让New_User_Group拥有转授这些权限的能力。修改后的完整语句如下:

GRANT SELECT, INSERT, UPDATE, DELETE ON Example_Table TO New_User_Group WITH GRANT OPTION;

关键注意事项

这里要提个Oracle的特性:WITH GRANT OPTION的权限不能通过角色传递。也就是说,如果你把New_User_Group角色授予某个普通用户,这个用户没办法直接把Example_Table的权限转授给别人——只有直接被授予带WITH GRANT OPTION权限的用户,才能执行转授操作。如果你的需求是让角色的所有成员都能转授权限,可能需要直接给每个用户单独授予权限并添加WITH GRANT OPTION,而不是通过角色批量分配。

内容的提问来源于stack exchange,提问作者user666

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.09 21:22:48