我对动态创建一些物化视图的 Oracle 存储过程有疑问。
如果存在与将要创建的物化视图同名的物化视图,该过程首先删除物化视图。然后它创建新的物化视图。
drop和create语句都是通过executeimmediate命令来执行的。
当我执行该过程时,它首先删除已创建的物化视图,并且由于据称缺乏特权而无法创建新的物化视图。
相反,如果我将代码作为脚本运行,它就可以完美运行。
我尝试创建一个更简单的存储过程,但遇到了同样的错误。
有谁能够解释为什么会发生或者如何理解原因吗?
您需要向拥有该过程的帐户授予 CREATE TABLE 和 CREATE MATERIALIZED VIEW 权限。