我仅具有对刚刚从中读取的旧系统数据库的读取权限,并且我具有要调整的庞大的“视图查询”。现在,在视图查询中,有一些我没有权限的函数调用。我的第一个问题是,如果我请求执行这些功能的许可,并且这些功能具有更新或删除命令,它们将被执行吗?
第二个问题,如果在执行函数期间创建了一个临时表,我将能够毫无问题地执行该函数吗?换句话说,函数可以在我的用户调用时创建并填充临时表吗?
非常感谢您的帮助!
答案 0 :(得分:0)
通常,如果您正在执行一个调用函数的SELECT
查询,那么在不提高ORA-14551: cannot perform a DML operation inside a query
的情况下它无法执行INSERT / UPDATE / DELETE。有多种方法可以解决该问题(例如使用自主交易),但是这种方法并不常见。如果您是我,我会亲自检查这些功能,以确保它们没有任何插入或更新。
我不知道您的意思是“如果通过这些功能完成了临时创建”,那么我无法回答您的第二个问题。如果您用更多详细信息更新问题,我将编辑此答案。