ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小,请问各位,这个问题如何解决啊? 

解决方案 »

  1.   

    -- 如:scott@SZTYORA> set serveroutput on;
    scott@SZTYORA> declare
      2    v_num number(2,0);
      3  begin
      4    v_num := 99;
      5    dbms_output.put_line(v_num);
      6  end;
      7  /
    99PL/SQL 过程已成功完成。已用时间:  00: 00: 00.00
    scott@SZTYORA> set serveroutput on;
    scott@SZTYORA> declare
      2    v_num number(2,0);
      3  begin
      4    v_num := 100;
      5    dbms_output.put_line(v_num);
      6  end;
      7  /
    declare
    *
    第 1 行出现错误:
    ORA-06502: PL/SQL: 数字或值错误 :  数值精度太高
    ORA-06512: 在 line 4
    已用时间:  00: 00: 00.14
      

  2.   


    -- 此时的提示:ORA-06512: 在 line 4
    -- 一看就知道是 line 4中的变量赋值时,产生数值溢出.....
      

  3.   


    加大字符串的长度varchar2(4000)