这个例子表明,即使您将结果分配给一个 NUMBER 数据类型,一个带有两个
PLS_INTEGER值的计算超出PLS_INTEGER范围会引发溢出异常。
DECLARE
p1 PLS_INTEGER := 2147483647;
p2 PLS_INTEGER := 1;
n NUMBER;
BEGIN
n := p1 + p2;
END;
--Result:
--DECLARE
--*
--ERROR at line 1:
--ORA-01426: numeric overflow
--ORA-06512: at line 6