存储过程中调用EXECUTE IMMEDIATE的“权限不足” 水深无声 2022-04-12 08:45 556阅读 0赞 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 再重新执行下刚才的存储过程,成功。
还没有评论,来说两句吧...