很诡异的一个异常: numeric or value error: character string buffer too small

很诡异的一个错误: numeric or value error: character string buffer too small?我最近写了一个存储过程,

很诡异的一个错误: numeric or value error: character string buffer too small?
我最近写了一个存储过程,一直测试都没问题,今天把它放到另一个oracle数据库上跑,却报错了

ORA-06502: PL/SQL: numeric or value error: character string buffer too small

我定义了一个字符串类型是varchar2(2000),网上说是变量定义的size太小了,最后我都改到varchar2(8000)了,还是报这个错,我十分确定我这个字符串长度不可能超过archar2(8000)的?有人知道这是为什么吗?

[解决办法]

探讨
我最近写了一个存储过程,一直测试都没问题,今天把它放到另一个oracle数据库上跑,却报错了

ORA-06502: PL/SQL: numeric or value error: character string buffer too small

我定义了一个字符串类型是varchar2(2000),网上说是变量定义的size太小了,最后我都改到varchar2(8000)了,还是报这……