我用utl_smtp写个了函数,实现发送邮件v_body  varchar2(32767); 这是邮件体的变量从数据库里取到150行数据赋值给这个变量,提示 -6502
ORA-06502: PL/SQL: numeric or value error: character string buffer too small这样一个提示,请问如何解决这个问题,谢谢。

解决方案 »

  1.   

    变量的话长度楼主定义的是没问题的表里面varchar2的长度才是4000
      

  2.   

    ORA-06502: PL/SQL: numeric or value error: character string buffer too small 
    可见定义的变量长度小于将要被存放的数据值。
      

  3.   

    还有个问题就是我发html程式邮件时只能发5到6行,而cursor里面有几十行数据,下面是table格式
    for m in query_name loopv_body || '<tr><td>' ||m.hea||'</td><td>'|| v_available_Qty || '</td><td>' ||
                   substr(m.re, 1, 10) || '</td></tr>';
    end loop;