oracle不存在表的授权选项,ORA-01720:不存在“****.****"授权选项

转自:http://blog.sina.com.cn/s/blog_68ea97d10101bpef.html

示例:

The HR user creates a view with this command:

SQL> CREATE VIEW emp_v AS SELECT * FROM scott.emp;

Now HR wants to grant the SELECT privilege on the EMP_V view to the JIM user.当HR 用户授权给JIM 用户的视图查询权限的时候,会发生什么呢?系统会给出ORA-01720错误,错误提示:ORA-01720:不存在“****.****"授权选项。如果想正常给JIM 授予视图的查询权限,需要在此步骤之前,在给SCOTT用户给HR 用户授予表scott.emp查询权限的语句中加上with grant option. 例如:grant select on scott.emp to hr with

grant option。 所以 HR needs the SELECT privilege on the EMP table with GRANT OPTION from SCOTT for this operation. 这样在用户HR给用户JIM授予视图查询权限的时候才能成功。 而做了一下操作:

SCOTT has to grant the SELECT privilege on the EMP table to JIM before this operation. 会发生什么呢?当你执行用户HR给用户JIM授予视图查询权限的时候还是收到ORA-01720错误。

原因:当用户B建了关于用户A的表的视图,然后B用户又将视图查询权限授予C用户,那么这意味着C用户必须拥有A用户表的查询权限,否则这个B用户又将视图查询权限授予C用户授权失败。因此在A用户给B用户授予A用户表的查询权限的时候,需要加上with grant option子句,然后在用户又将视图查询权限授予C用户的时候,将A用户表的权限给传递给C用户。

(可在数据库中建立用户test1,test2,test3用户来测试)

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值