当前位置: 首页 > news >正文

建站工具论坛龙华网站建设设计

建站工具论坛,龙华网站建设设计,结构设计师之家官网,国外设计网址问题描述:ORA-01031:权限不足我用scott用户创建了一个存储过程,创建成功后我调用改存储过程,就提示我权限不足,是怎么回事锕 ,有谁帮解决一下下锕我的存储过程如下:create or replace procedure xu_create isv_a varchar2(20):&输入表名称;v_b varchar2(20):&am…

问题描述:

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用户下创建表啊,为啥一旦用到存储过程中去的时候就得要授权呢.

1个回答

分类:

综合

2014-10-04

问题解答:

我来补答

GRANT create any table TO scott;

sequence 是序列,你试着给它创建序列的权限有毛用啊,你的存储过程里是要创建表啊.

哈,没研究过这么深,只不过这么用久了,就习惯这么用了.遗憾,你可以去查一些存储过程的教程,那上边一般会有这些基础知识.我只是会用而已.

展开全文阅读

http://www.huolong8.cn/news/445/

相关文章: