Oracle ORA-06502 数字或值错误:字符串缓冲区太小

原创 2015年11月20日 21:43:15


-- 场景:

--在Oracle 11g 环境

select WM_SYS.WM_CONCAT(id) from table_name 

-- 报错如下:

ORA-06502: PL/SQL: 数字或值错误:字符串缓冲区太小
ORA-06512: 在"WMSYS.WM_Concat_impl",line30
 
--检查原因:
WMSYS.WM_Concat返回的是varchar2,所以长度不能超过4000。
10.2.0.5和11.2.0.3后,此函数返回类型变成CLOB,但可能会导致其他问题。

尝试 Listagg()函数,结果长度不能超过4000


解决方案一:

  select WMSYS.STRAGG(id) from table_name

解决方案二:

  自定义函数:

  

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Oracle PlSql 问题集锦 - 数字或值错误:字符串缓冲区太小【ORA-06502】

在提交Web Service请求时不宜直接去提交整个CLOB XML请求报文,而用dbms_lob.substr()将CLOB分段去提交XML请求报文是最为稳妥的方法。...

ORA-06502:PL/SQL:数字或值错误:字符串缓冲区太小

ORA-06502:PL/SQL:数字或值错误:字符串缓冲区太小 ORA-06512:在"WMSYS.WM_CONCAT_IMPL",line 30    记录一下,今天在合并订单号的时候出现...

ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小 错误分析

1. 问题起因 最近在进行oracle的一些操作时,总会遇到这个错误:  ORA-06502: PL/SQL: 数字或值错误 :  字符串缓冲区太小,错误如下: ORA-00604: 递归...

6502ORA -06502: PL/SQL: 数字或值错误 : 字符到数值的转换错误

出错信息: :-6502ORA-06502: PL/SQL: 数字或值错误 : 字符到数值的转换错误 原因:为数字类型的变量(参数)赋字符型的值。 例子:   ,p_availability_st...

字符串缓冲区太小?--Oracle也谎报军情

为了几天后的系统测试,需要在虚拟机安装整个系统,数据库使用了Oracle 10.2.0版本,但由于Oracle的军情谎报,害我重装了N回。目前正在运行的数据库服务器是10.2.0.3.0版本的Orac...
  • zhmnsw
  • zhmnsw
  • 2007年05月21日 21:11
  • 6378

生成awr报告时报ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小

生成awr报告时报错: ERROR: ORA-06502: PL/SQL: 数字或值错误 :  字符串缓冲区太小 ORA-06512: 在 "SYS.DBMS_WORKLOAD_REPOSITO...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

ORACLE 存储过程的创建以及ORA-06502:PL/SQL:数字或值错误的解决方法

创建四个存储过程,分别是简单不带参数的存储过程、带两个输入参数IN的存储过程、带一个输入参数IN,一个输出参数OUT的存储过程和带两个输入输出参数IN OUT的存储过程。 创建一张全局临时emp表C...

ORA-06502

ORA-06502: PL/SQL: numeric or value error: number precision too large 今天调试一个oracle函数,报该错误,原来以为是插入表的数...
  • lxzo123
  • lxzo123
  • 2011年04月15日 10:28
  • 10994

浅谈ORACLE中ORA-06502:PL/SQL:数字或值错误:字符到数值的转换错误

原因之一:查看在输出的字符串拼接中是否使用了(+),ORACLE中的字符拼接是(||),当然大家还可以使用CONCAT(),但是要注意使用CONCAT()函数最多只能拼接两个参数的字符 EXAM...
  • zb0567
  • zb0567
  • 2014年12月21日 18:37
  • 6190
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Oracle ORA-06502 数字或值错误:字符串缓冲区太小
举报原因:
原因补充:

(最多只允许输入30个字)