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


需求及现象:

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

解决办法:

CREATE OR REPLACE PROCEDURE XXXXXXXXXXXXX 
  AUTHID CURRENT_USER
  IS

在过程声明部分加入AUTHID CURRENT_USER就可以使用当前用户的role权限了。
我这个是单独的过程,如果是PACKAGE就加在包头声明部分就可以了,包体不用。
请使用浏览器的分享功能分享到微信等