返回一个类型的所有行

问题描述 投票:0回答:0

请你帮忙:

我的体型:

CREATE OR REPLACE TYPE BODY TJ_DB
AS
    CONSTRUCTOR FUNCTION TJ_DB RETURN SELF AS RESULT
    AS
    BEGIN
       SELF.number1 := L_NUM();
       RETURN;
    END;

    MEMBER FUNCTION TO_CHAR RETURN CLOB IS
     v_Data1 CLOB;
    BEGIN
      IF number1 IS NOT NULL AND number1.Count > 0 THEN
        FOR i IN number1.First .. number1.Last LOOP
          v_Data1 := v_Data1 || i || ' => ' || number1(i).TO_CHAR();
        END LOOP;
      ELSE
        v_Data1 := 'TJ_DB => NULL';
      END IF;
      RETURN  TO_cLOB(v_Data1);
    END;
END;

当我打印软件的输出并且超过 1355 行时,抛出

ORA-06502 PL/SQL:“v_Data1 := v_Data1 || i || ' => ' || number1(i).TO_CHAR();”中的数字或值错误和崩溃

但是当小于1355行时,输出就ok了。我能做些什么?我必须返回那 3000 行甚至更多行。

每个寄存器是一个 varchar2(16) 并没有那么大。

oracle plsql oracle10g
© www.soinside.com 2019 - 2024. All rights reserved.