oracle警告:创建的存储过程带有编译错误
createorreplaceprocedureTest_One(innuminvarchar2)ISresultinteger:=0;numinteger:=0;exc...
create or replace procedure Test_One(innum in varchar2)
IS
result integer:=0;
num integer:=0;
exception1 EXCEPTION;
pragma exception_init(exeception1,-6505);
begin
num:=to_number(innum);
if num<0 then
for n in num..-1
loop
result:=result+n;
end loop;
elseif num>0 then
for n in 1..num
loop
result:=result+n;
end loop;
else
return;
end if;
end if;
dbms_output.put_line(result);
EXCEPTION
WHEN exception1
then
dbms_output.put_line('请输入数字!');
end;
/ 展开
IS
result integer:=0;
num integer:=0;
exception1 EXCEPTION;
pragma exception_init(exeception1,-6505);
begin
num:=to_number(innum);
if num<0 then
for n in num..-1
loop
result:=result+n;
end loop;
elseif num>0 then
for n in 1..num
loop
result:=result+n;
end loop;
else
return;
end if;
end if;
dbms_output.put_line(result);
EXCEPTION
WHEN exception1
then
dbms_output.put_line('请输入数字!');
end;
/ 展开
展开全部
第一个exeception1写错了;
第二个,oracle没有else if只有elsif;
第三个:多了一个end if;
最后一个,输出的时候后面的";"应该改为英文分号
第二个,oracle没有else if只有elsif;
第三个:多了一个end if;
最后一个,输出的时候后面的";"应该改为英文分号
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在sqlplus 下运行完这个语句,提示编译错误之后,输入
SQL>show errors
把结果贴上来
SQL>show errors
把结果贴上来
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
exception1 EXCEPTION;
pragma exception_init(exeception1,-6505);
括号里面的和外面定义的不一样
elseif num>0 then
for n in 1..num
loop
这句也有问题
dbms_output.put_line('请输入数字!');
后面的;改为;
/
pragma exception_init(exeception1,-6505);
括号里面的和外面定义的不一样
elseif num>0 then
for n in 1..num
loop
这句也有问题
dbms_output.put_line('请输入数字!');
后面的;改为;
/
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
能不能把错误也贴出来啊
追问
就是提示编译错误
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询