日期:2014-05-17  浏览次数:20715 次

新手问题,关于存储过程
我有个存储过程:
SQL code

create or replace procedure p_createseq(tablename in varchar2)
is
strsql varchar2(500);
begin
strsql:='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为了安全,(理由我也不知道),在存储过程里面执行更严格的权限检查。

需要给用户赋予权限
SQL code
grant create sequence to youruser;

我的异常网推荐解决方案:oracle存储过程,http://www.aiyiweb.com/oracle-develop/177537.html