我有个存储过程:
- SQL code
create or replace procedure p_createseq(tablename in varchar2)isstrsql varchar2(500);beginstrsql:='create sequence seq_'||tablename||' minvalue 100 maxvalue 99999999 start with 100 increment by 1 nocache';execute immediate strsql;end p_createseq;
执行的时候报错:
ORA-01031: 权限不足
ORA-06512: 在 "MYDB.P_CREATESEQ", line 7
ORA-06512: 在 line 2
我的账户有connect,resource权限,难道这个权限无法使用“execute immediate”吗?
------解决方案--------------------
- SQL code
grant create procedure to user_name;grant create sequence to user_name;--显示的赋权。。。。
------解决方案--------------------
oracle为了安全,(理由我也不知道),在存储过程里面执行更严格的权限检查。
需要给用户赋予权限
- SQL code
grant create sequence to youruser;
------解决方案--------------------
权限不足,授权啊
------解决方案--------------------
代码迷推荐解决方案:oracle存储过程,http://www.daimami.com/search?q=177537