ORA-06502:PL/SQL:数字或值错误:数值精度太高

调用存储过程如上提示

 

 

 查看过程的sql如上所示, 并未发现异常

调用的sql语句为

 

 

然后把存储改为

 

 然后执行上面的select 调与sum_sal()方法,就可以调用了,于是找到了原因

 

1.刚开始定义的是10位的长度,小数点后6位数,也就是说小数点前面只能有4位长度的整数

2.后来定义的是10位的长度,小数点后4位数,也就是说小数点前面只能有6位长度的整数于是可以执行

3.若把上面的语句改为v_sum(12,6) :=0;再调用该过程于是就可以执行了

 

 

 

结论,定义的10位数的长度不足以满足实际的需求,因为实际的长度是6+6为12

 

posted @ 2019-08-09 16:27  托马斯骨头收集  阅读(1596)  评论(0编辑  收藏  举报