创建视图时出现Oracle错误 - ORA-01720

Dav*_*ina 5 sql oracle oracle11g

我在Oracle 11.2.0.4.0环境中遇到了一个让我难过的问题.我有一个WORKING,COMPILED视图,我可以从中选择数据,但如果没有出现"ORA-01720"错误,我无法改变它.

关于我的设置:我有2个模式,"A"和"B"很简单.模式"A"拥有"TABLE1","TABLE2","TABLE3",模式"B"当前具有从所有3个表中选择数据所需的授权.我已经验证我可以通过查询以及存在的视图选择数据.

当我的模式"B"授予对这三个表中的模式"A"数据的访问权限时,是否有人知道可能阻止我改变工作视图的原因是什么?我看到谷歌和各个网站提到的几个建议,我们已经尝试过授予选择"有授权选项",但是当我从所有者直接选择数据而不是从受助者那里选择数据时,我看不出它会如何应用.错误消息如下:

SQL Error: ORA-01720: grant option does not exist for 'A.TABLE1'
01720. 00000 -  "grant option does not exist for '%s.%s'"
*Cause:    A grant was being performed on a view or a view was being replaced
           and the grant option was not present for an underlying object.
*Action:   Obtain the grant option on all underlying objects of the view or
           revoke existing grants on the view.
Run Code Online (Sandbox Code Playgroud)

Ale*_*xey 8

这是Oracle 11中引入的限制create or replace force view.即使使用,也无法向现有视图添加您不拥有但已被授予权限的表.您必须先删除视图并重新创建它.