oracle 存储过程中不能执行create语句,请问各位大虾是为什么?请支招,在线等
展开全部
查一下所在用户的权限,看是否有create 权限,如没有授权即可
追问
这是我的极限信息,看看我有没有create table 的权限,我看着像有,谢了
追答
授权 create any table ,而后再试试
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
存储过程不能自己使用DDL语句,要使用动态语句来执行
参考下面的:
CREATE or replace function Code
Return Varchar2 as
vGlideCode Varchar2(20);
seq_year varchar2(4);
str varchar2(100);
begin
update tbl_seqYear set seqYear=to_char(sysdate, 'yyyy ');
str:= 'drop sequence xxSeq ';
execute immediate str;
str := 'create sequence xxSeq '
execute immediate str;
select xxSeq.nextval into vGlideCode from dual;
end if;
return(vGlideCode);
end;
参考下面的:
CREATE or replace function Code
Return Varchar2 as
vGlideCode Varchar2(20);
seq_year varchar2(4);
str varchar2(100);
begin
update tbl_seqYear set seqYear=to_char(sysdate, 'yyyy ');
str:= 'drop sequence xxSeq ';
execute immediate str;
str := 'create sequence xxSeq '
execute immediate str;
select xxSeq.nextval into vGlideCode from dual;
end if;
return(vGlideCode);
end;
更多追问追答
追问
我就是这样写的,它执行不过去呀
追答
哪就是权限问题了
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你把异常信息贴出来. 要不怎么分析是什么原因引起的.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询