请问下面这段oracle存储过程的代码哪里有错

createorreplaceprocedureaddnum(ainint)asbinteger;b:=1;beginwhile(b<=a)loopbegininsert... create or replace procedure addnum(a in int)
as
b integer;
b := 1;
begin
while (b<=a) loop
begin
insert into nemeric values (b)
b:=b+1;
end;
end loop;
end ;
/
展开
 我来答
badkano
2013-09-13 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144777 获赞数:885359
团长

向TA提问 私信TA
展开全部

oracle里的while不用begin的

insert 那句后边没分号

赋值应该在begin后

 

numeric应该是oracle里的关键字,应该双引号引起来,否则可能会报错

create or replace procedure addnum
(a in int)
as
b integer;
begin
b := 1;
while (b<=a) loop
insert into "nemeric" values (b);
commit;
b:=b+1;
end loop;
end ;

 

执行时

begin
  addnum(10);--10就是你输入的那个值
end;
dngoryaner
2013-09-13 · TA获得超过2350个赞
知道小有建树答主
回答量:2404
采纳率:0%
帮助的人:1124万
展开全部
类型应该是NUMBER;
create or replace procedure addnum(a in NUMBER)
IS
b NUMBER(10):=1;
--把A的值覆盖C
c:=a;
--b := 1;
begin
--要判断A的值
if nvl(c,'')=='' then
c:=0;
end if;
while (b<=c) loop
begin
insert into nemeric(id) values (b);
b:=b+1;
end;
end loop;
--要提交事务
commit;
end;
end ;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
MTEE白开水
2013-09-13 · TA获得超过336个赞
知道小有建树答主
回答量:196
采纳率:0%
帮助的人:96.3万
展开全部
改成这样吧,变量的赋值在begin开始后,插入表中的数据时要注意提交commit;
create or replace procedure addnum(a in int)
as
b integer;
begin
b := 1;
while (b<=a) loop
begin
insert into
nemeric values (b);
commit;
b:=b+1;
end;
end loop;
end ;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式