问题现象
前两天写了一个存储过程,自动创建视图的,今天发现使用报错,错误信息如下:
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解决问题!
您可以选择一种方式赞助本站
支付宝扫一扫赞助
微信钱包扫描赞助
赏