我知道oracle中字符串可支持最大长度32767的问题,这个没办法改变了,但是我这边有一个功能是循环产生动态列的,有什么办法判断字符串在超出这个长度之后返回给用户提示,如果用 if length()>32767方法,在已经超这个范围的时候就报错了,没法判断,请各位支招

解决方案 »

  1.   

    不能获取oracle的错误判断码,跟据错误码来返回给用户提示。。
      

  2.   

    那为什么要用字符串呢。用大数据类型clob不行吗? 出库的时候在转成String。。
      

  3.   

     if length()= 32766 then
      fnd_message.debug('超出来');
     end if;
      

  4.   

    在存储过程里面加上exception子句
      

  5.   

    1 异常处理2 拼接无非是 a := b||c 或者 a := a||b出错之前就把所有字符的长度求出来,相加,超出就退出循环了。
      

  6.   

    我现在异常的方式exception处理该问题
    请问如何扑捉异常呢????
      

  7.   

    EXCEPTION
    WHEN OTHERS THEN
       raise_application_error(-20001,'An error was encountered - '||SQLCODE||' -ERROR- '||SQLERRM);
    END;