ora01720

今天,根据业务需要,写了一个视图。即A用户需要查询B用户下的c表

已经进行过授权了。命令:grant select on c to B;

在创建视图的时候出错,错误信息为:ORACLE ora-01720 授权选项对于'xxxx'不存在

经查询,需要要使用如下命令进行授权:grant select on c to B with grant option。

 

ORACLE-016:ora-01720 授权选项对于'xxxx'不存在
发布者:fruit 
 时间:2015-08-25 08:48:05
报错的情形如下,
A用户:视图V_A
B用户:视图V_B,并且用到了V_A
C用户:需要用V_B,
授权过程,
A用户下:
grant select on V_A to B 
B用户下:
grant select on V_B to C
此时报错:ora-01720 授权选项对于'V_A'不存在。
那么是什么原因呢,因为B还需要授权视图给C用户,但是B用到的视图是A下的,所以除了将V_A授权select权限给B外,还要授权操作权限。
比如这里就需要在A用户下,授权grant操作权限给B,那么B才能继续授权给C。如下:
A用户下:
grant select on V_A to B with grant option 
B用户下:
grant select on V_B to C
此时正确。C中能正常使用V_B了。
同样如果C还要继续授权则B用户下也要依此进行授权。
 

 

你可能感兴趣的:(oracle)