********************************************************************************
1、用下面函数就行:例子是给了20000字符
dbms_output.enable(20000);
********************************************************************************
2、可以用utl_file直接写入到文件里
********************************************************************************
3、declare
lineCount INTEGER;
i INTEGER;
initStr Varchar2(4000);
BEGIN
initStr:=initStr(); --获得你要输出的字符串
lineCount := ceil(length(initStr)/255);
dbms_output.put_line('Length:'||to_char(length(initStr)));
FOR i IN 1..lineCount LOOP
dbms_output.put_line('-------i--------:'||to_char(i));
dbms_output.put_line(substr(initStr,1 + 255 * (i - 1),255));
END LOOP;
END;
********************************************************************************
4、用下面的这个存储过程代替你的dbms_output.put_line()
create or replace procedure put_line_unlimit( p_string in varchar2 )
is
l_string long default p_string;
begin
loop
exit when l_string is null;
dbms_output.put_line( substr( l_string, 1, 250 ) );
l_string := substr( l_string, 251 );
end loop;
end;
例如:
SQL> declare
v_sql varchar2(300):='';
v_i number:=1;
begin
dbms_output.enable(20000);
for v_i in 1..256 loop
v_sql:=v_sql||'*';
end loop;
put_line_unlimit(v_sql);
end;
/
********************************************************************************