存储过程中调用EXECUTE IMMEDIATE的“权限不足”
2017-04-17 15:03
603 查看
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
再重新执行下刚才的存储过程,成功。
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
再重新执行下刚才的存储过程,成功。
相关文章推荐
- 存储过程中调用EXECUTE IMMEDIATE的“权限不足”问题
- 存储过程中调用EXECUTE IMMEDIATE的“权限不足”问题
- 存储过程中调用EXECUTE IMMEDIATE的“权限不足”问题
- 存储过程中调用EXECUTE IMMEDIATE的“权限不足”问题
- 跨数据库调用存储过程权限问题
- oracle-存储过程提示ORA-01031: 权限不足
- 存储过程调用权限浅分析
- oracle 用户权限之执行存储过程权限不足
- java调用mysql存储过程报权限方面错误
- mysql执行存储过程中报权限不足的错误解决方法 3ff8
- 存储过程中调用自定义函数(不在同一用户下)提示无权限或标识符无效
- 存储过程中Create Table权限不足问题
- ORA-01031 权限不足-存储过程中DBA 角色用户无法执行DDL
- mysql 存储过程调用权限消失的问题,恢复权限
- 解决执行存储过程出现权限不足问题(ORA-01031)
- ORA-06512 存储过程中创建表权限不足
- 存储过程调用对象权限语句 AUTHID
- 存储过程中建表权限不足的解决方法
- 存储过程中动态的创建表 报ORA-01031: insufficient privileges权限不足
- Oracle的存储过程中创建临时表报权限不足问题