我定义了一个long类型的变量,用来拼SQL语句,但是当拼到一定长度的时候就会报ORA-06502: PL/SQL: 数字或值错误,搜索了一下这个问题,好像是说long类型在PL/SQL中只能有64k长度,算了一下应该也差不多是这个长度的时候报错的,不知道哪位碰到过这类问题,可以让long变量实现它的2G长度.感谢先!!!

解决方案 »

  1.   

    经过测试,发现当string的长度超过32k的时候就会报错.请教有过类似经历的兄弟帮忙~~~~
      

  2.   

    用CLOB也不解决根本问题啊,现在LONG只能有32K长度 用CLOB也有挂掉的一天啊
      

  3.   

    varchar2 4000个字符.一般来说足够。
    如果超了,那说明sql太长了,这时候,建议拆分成小的功能函数,不建议必须一条sql实现。
      

  4.   

    一个SQL,>64K?:)
    还是先优化下SQL比较实际
      

  5.   

    4000远远不够啊 业务逻辑上是要求1条SQL实现的,现在的SQL已经拼到32000长度,超过后会报超长,理论上LONG型不是2G长度吗
      

  6.   

    一个SQL,>64K?:)
    还是先优化下SQL比较实际回这个兄弟,碰上BT事情了  也是没办法才这样的
    SQL长度大概在40000长度的样子
      

  7.   

    写错了  SQL长度大概在100000的样子顺便问一下  ORACLE支持这么长的SQL吗?前面20000长度的是可以执行的