ORA-01031:权限不足

问题描述:

ORA-01031:权限不足
我用scott用户创建了一个存储过程,创建成功后我调用改存储过程,就提示我权限不足,是怎么回事锕 ,有谁帮解决一下下锕
我的存储过程如下:
create or replace procedure xu_create is
v_a varchar2(20):='&输入表名称';
v_b varchar2(20):='&输入表的字段';
v_c varchar2(20):='&输入表的字段';
v_sql varchar2(2000);
begin
v_sql:='create table '||v_a||'('||v_b||' varchar2(20),'||v_c||' varchar2(20))';
execute immediate v_sql;
commit;
之后我调用call xu_create();
就出现了这个权限不足的错误,补充一点,我以sys登录的时候,是可以调用的
我也试着个scott授权,GRANT CREATE ANY sequence TO scott;之后还是出现那个错误,怎么回事?
(另外我感觉应该不需要给scott授权的阿,默认scott用户就应该可以创建表的啊)
end;
对,就是啊,GRANT CREATE ANY sequence TO scott这句话是在别的地方copy过来的看都没有看,,不过我还不明白为啥 scott还用授权呢 ,我们即使不授权照样可以在scott用户下创建表啊,为啥一旦用到存储过程中去的时候就得要授权呢.

GRANT create any table TO scott;
sequence 是序列,你试着给它创建序列的权限有毛用啊,你的存储过程里是要创建表啊.
哈,没研究过这么深,只不过这么用久了,就习惯这么用了.遗憾,你可以去查一些存储过程的教程,那上边一般会有这些基础知识.我只是会用而已.