永发信息网

oracle 存储过程中不能执行create语句,请问各位大虾是为什么?请支招,在线等

答案:4  悬赏:70  手机版
解决时间 2021-04-15 22:16
oracle 存储过程中不能执行create语句,请问各位大虾是为什么?请支招,在线等
最佳答案
存储过程不能自己使用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 权限,如没有授权即可追问这是我的极限信息,看看我有没有create table 的权限,我看着像有,谢了追答授权 create any table ,而后再试试
你把异常信息贴出来. 要不怎么分析是什么原因引起的.
必须赋权才可以执行create语句,下面以create table为例,
在用户的sqlplus里执行
grant create table to 用户;
之后就可以在存储过程里的动态SQL里做包含create table的语句了。
同样 create view的话就应该执行
grant create view to 用户;
如:
str := 'create table 表名 '
execute immediate str;
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
我最近失恋了我想给我喜欢的那个女孩子写封信
坐高铁到北京南站坐地铁需要再次安检吗
自考大专相关学校有那些,
NV Geforce 9600M GS独立显卡和NVIDIA&re
玩诺基亚高手进?
怎么能预防感冒
鱼羊小馆地址在什么地方,想过去办事
发送消息后页面自动关闭
郭敬明的小说经典语录,郭敬明的经典语录有哪
春风里 草初生 打一字
有哪些歌是专门纪念朋友辞世的?
斯汀尤克利夫在妖精的尾巴159集中哪里出现过
请问有谁值得我去相信?
悦欣鼎园这个地址在什么地方,我要处理点事
兔子着凉了是什么症状,请问有谁知道狗狗受凉
推荐资讯
不敢,面对自己勒,怎么办
丝路英雄声望到多少可以点亮?
3d秀图标怎么点亮??谢谢了
美味生活茶餐厅地址有知道的么?有点事想过去
胶原蛋白真的那么没有营养吗
研究生可以不读自己之前的专业么?
60-70-80-90-00的区别
DNFel-xm25护腿能卖多少
华为荣耀6plus来电大头贴太小,能调大吗
怎样获得异性的欢心
这个提错问题扣经验吗
侠盗圣安地列斯雷达站MOD
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?