Oracle 编译force视图时出错

Oracle 编译force视图时出错,oracle,compiler-warnings,Oracle,Compiler Warnings,oracle中的force view存在一个问题。视图的某些底层对象被修改以添加新列。当我们使用alterviewcompile编译视图时,我们得到了错误 警告:视图因编译错误而更改 在检查错误时,我们得到: ORA-00942: table or view does not exist. 但是,当我们执行视图选择查询时,它执行得很好并提取数据 有人能帮我解决视图编译的问题吗 “我们正在执行视图选择查询,它执行得很好” 因此,底层查询似乎从另一个模式中的表中选择数据,即不是试图创建视图的模式,

oracle中的force view存在一个问题。视图的某些底层对象被修改以添加新列。当我们使用
alterviewcompile
编译视图时,我们得到了错误

警告:视图因编译错误而更改

在检查错误时,我们得到:

ORA-00942: table or view does not exist.
但是,当我们执行视图选择查询时,它执行得很好并提取数据

有人能帮我解决视图编译的问题吗

“我们正在执行视图选择查询,它执行得很好”

因此,底层查询似乎从另一个模式中的表中选择数据,即不是试图创建视图的模式,或者以其他方式引用另一个模式中的对象

发生的情况是,表所有者将其表上的权限授予了一个角色,该角色被授予了查询模式。通过角色授予的权限允许我们针对授予的对象编写SQL,但不能构建编程对象(PL/SQL、视图等)。为此,表所有者需要将特权直接授予查询用户

这是Oracle安全模型施加的限制。没有其他解决办法

“我们正在执行视图选择查询,它执行得很好”

因此,底层查询似乎从另一个模式中的表中选择数据,即不是试图创建视图的模式,或者以其他方式引用另一个模式中的对象

发生的情况是,表所有者将其表上的权限授予了一个角色,该角色被授予了查询模式。通过角色授予的权限允许我们针对授予的对象编写SQL,但不能构建编程对象(PL/SQL、视图等)。为此,表所有者需要将特权直接授予查询用户

这是Oracle安全模型施加的限制。没有其他解决办法