下面的number数值大于419就报错,不清楚是什么意思呢?

疯狂低调 2017-11-09 11:10:39
declare
v_num NUMBER(8,2) := 1;
BEGIN
<<basic_loop>>
LOOP
DBMS_OUTPUT.put_line('当前v_num变量内容是:'||v_num);
v_num := v_num+1;

if v_num > 420 then
此处420必报错,如果419以内的数字则没有问题

DBMS_OUTPUT.put_line('退出! 当前v_num变量内容是:'||v_num);
EXIT basic_loop;
end if;
END LOOP;

DBMS_OUTPUT.put_line('LOOP循环结束!');


END;
...全文
241 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
碧水幽幽泉 2017-11-09
  • 打赏
  • 举报
回复
知道什么原因了。你应该是报ORA-2000和ORU-10027错误。 有两种解决方法: 1.打开SQL Window,将输出页的缓冲区大小改大,比如设置500000 2.在命令 Window,才用设置命令。 set serveroutput on size 50000
疯狂低调 2017-11-09
  • 打赏
  • 举报
回复

类似这个问题。
碧水幽幽泉 2017-11-09
  • 打赏
  • 举报
回复
我试着运行了以下,正常执行,不会报错。

declare
v_num number(8,2) :=1;
begin
loop
dbms_output.put_line('当前v_num变量内容是:'||v_num);
v_num := v_num+1;

if v_num > 420 then
dbms_output.put_line('退出! 当前v_num变量内容是:'||v_num);
exit;
end if;
end loop;

dbms_output.put_line('loop循环结束!');

end;
疯狂低调 2017-11-09
  • 打赏
  • 举报
回复
多谢3楼 居然还有这个限制。

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧