大家好,我写了一个存储过程,是这样的
CREATE OR REPLACE PROCEDURE text_x
IS
   v_file_name          VARCHAR2(50);
   v_lf                 UTL_FILE.FILE_TYPE;
   v_sql                VARCHAR2(1000);
   begin
     v_file_name := 'per_gae'||To_Char(sysdate,'yyyyMMdd')||'.xml';
     v_sql := 'SELECT * FROM gae_file WHERE rownum<40';
     v_lf := UTL_FILE.FOPEN('XMLDIR',v_file_name,'w', 32767);
     UTL_FILE.PUT_LINE(v_lf,dbms_xmlgen.getXML(v_sql));
     UTL_FILE.FCLOSE(v_lf);
END;很奇怪的是,当v_sql := 'SELECT * FROM gae_file WHERE rownum<39';时,没有任何问题,但是rownum<40时,就会报错,报错信息是:
ORA-06502: PL/SQL: 数字或值错误 
ORA-06512: 在"DS.TEXT_X", line 10
ORA-06512: 在line 3请高手帮我解决一下,谢谢!