请问下面这段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 ;
/ 展开
as
b integer;
b := 1;
begin
while (b<=a) loop
begin
insert into nemeric values (b)
b:=b+1;
end;
end loop;
end ;
/ 展开
3个回答
展开全部
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;
展开全部
类型应该是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 ;
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 ;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
改成这样吧,变量的赋值在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 ;
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 ;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询