当前位置:首页 > 开发 > 数据库 > 正文

ORACLE for 循环时报数字溢出异常

发表于: 2013-11-07   作者:aaron81939097   来源:转载   浏览:
摘要:     今天调试存储过程时遇到个问题,在for循环时报数字溢出异常       找了一些资料发现for循环变量的范围只能在-2147483648 , 2147483647之间了;     解决方法:将for循环改为使用WHILE循环即可。   The bounds of a lo

    今天调试存储过程时遇到个问题,在for循环时报数字溢出异常

 

    找了一些资料发现for循环变量的范围只能在-2147483648 , 2147483647之间了;

    解决方法:将for循环改为使用WHILE循环即可。

 

The bounds of a loop range can be literals, variables, or expressions but must evaluate
to numbers. Otherwise, PL/SQL raises the predefined exception VALUE_ERROR. The
lower bound need not be 1, but the loop counter increment or decrement must be 1.

j IN -5..5
k IN REVERSE first..last
step IN 0..TRUNC(high/low) * 2

Internally, PL/SQL assigns the values of the bounds to temporary PLS_INTEGER
variables, and, if necessary, rounds the values to the nearest integer. The magnitude
range of a PLS_INTEGER is -2147483648 to 2147483647
, represented in 32 bits. If a
bound evaluates to a number outside that range, you get a numeric overflow error when
PL/SQL attempts the assignment.

 

ORACLE for 循环时报数字溢出异常

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号