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

  • A+
所属分类:Oracle

问题现象

前两天写了一个存储过程,自动创建视图的,今天发现使用报错,错误信息如下:

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

原始存储过程字段定义为:

  T_SQL    VARCHAR2(4000);
  EXCE_SQL VARCHAR2(4000);

解决过程

ora-06502报错是定义的字段长度太小,后面拼接的sql太长超过定义的4000了。

经查证,发现PLSQL定义的varchar2字段长度最大为32767;

测试发现,超过这个长度就编译报错:

错误:PLS-00215: String length constraints must be in range (1 .. 32767)

最后把字段长度调整为6000解决问题!

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: