ORA-06502: PL/SQL:numeric or value error!

帮同事看一个问题,在更新一个view的时候,触发了一些列的triggers,最后得到的错误信息就是ORA-06502: numeric or value error. 刚开始一直以为是在往表里插入数据的时候,是不是哪个列的类型不匹配造成的。注释了很多地方,都不奏效。

 

无奈之下,只好用了下SQL Developer的debug功能,最后终于发现问题所在,是因为往一个varchar2的变量里面放数据的时候,超过了长度限制!!!  

 

这个错误很好重现,如下

 


SQL
>   declare
  
2    v_name  varchar2 ( 3 );
  
3    begin
  
4    v_name : =   ' Frank ' ;
  
5    end ;
  
6    /
declare
*
ERROR at line 
1 :
ORA
- 06502 : PL / SQL: numeric  or  value error:  character  string buffer too small
ORA
- 06512 : at line  4

 

 

从这个错误信息可以看出,还有个后半段叫 character string buffer too small

但是调的那段代码给出的错误信息却没有这个后半段,因此刚开始找错了方向!!

 

借此博文,记下这个错误! 

 

 

转载于:https://www.cnblogs.com/fangwenyu/archive/2010/05/21/1740626.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值