博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
存储过程中调用EXECUTE IMMEDIATE的“权限不足”
阅读量:6736 次
发布时间:2019-06-25

本文共 442 字,大约阅读时间需要 1 分钟。

hot3.png

EXECUTE IMMEDIATE是Oracle中使用动态SQL的一种方法,可以直接执行,也可以在存储过程中调用。然而在存储过程中调用可能会遇到权限不足的问题,如在存储过程中执行重建索引语句:

sqlt := 'alter index ' || idx.index_name || ' rebuild online ';

    EXECUTE IMMEDIATE sqlt;

 

会报权限不足:如下

ORA-01031: 权限不足

ORA-06512: 在"bdc.proc_rebuild_part_index", line 5
ORA-06512: 在line 1

 

既然提示说权限不足,所以问题的解决方法就是要赋予用户scott Create Any Table的权限,以SYS登录,然后执行:

GRANT CREATE ANY TABLE TO SCOTT

 

再重新执行下刚才的存储过程,成功。

 

转载于:https://my.oschina.net/u/560547/blog/854238

你可能感兴趣的文章