gpt4 book ai didi

sql - 创建 View 时出现 Oracle 错误 - ORA-01720

转载 作者:行者123 更新时间:2023-12-01 17:55:23 28 4
gpt4 key购买 nike

我在 Oracle 11.2.0.4.0 环境中遇到了一个让我困惑的问题。我有一个正在运行的已编译 View ,我可以从中选择数据,但我无法在不出现“ORA-01720”错误的情况下更改它。

关于我的设置的一些信息:简单来说,我有 2 个模式,“A”和“B”。模式“A”拥有“TABLE1”、“TABLE2”、“TABLE3”,模式“B”当前拥有从所有 3 个表中选择数据所需的授权。我已经验证我可以通过查询选择数据以及存在的 View 。

有谁知道当我的模式“B”已授予对这三个表中的模式“A”数据的访问权限时,什么可能会阻止我更改工作 View ?我看到谷歌和各个网站的一些建议提到授予选择“带有授予选项”,我已经尝试过,但我不知道当我直接从所有者而不是从受让人选择数据时它会如何应用。错误信息如下:

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.

最佳答案

这是 Oracle 11 中引入的限制。即使使用创建或替换强制 View ,您也无法将不属于您但已被授予权限的表添加到现有 View 。您必须先删除 View 然后重新创建它。

关于sql - 创建 View 时出现 Oracle 错误 - ORA-01720,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36551639/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com