ORA-01031: 权限不足问题存储过程中解决办法


需求及现象:

需要在存储过程中拼接SQL执行向其他用户的表中插入数据,生成的SQL单独运行没问题,但是EXECUTE IMMEDIATE的时候提示ORA-01031: 权限不足。

解决办法:

CREATE OR REPLACE PROCEDURE XXXXXXXXXXXXX 
  AUTHID CURRENT_USER
  IS

在过程声明部分加入 AUTHID CURRENT_USER 就可以使用当前用户的role权限了。
我这个是单独的过程,如果是PACKAGE就加在包头声明部分就可以了,包体不用。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/28502651/viewspace-1124249/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/28502651/viewspace-1124249/