解决dbms_output.put_line输出长度限制
设置dbms_output.enable(n);
n为一个比较大的数值,即长度大于即将输出的内容。
如下函数是将输出的长段内容逐行输出的存储过程,可替代dbms_output.put_line使用。
PS. 本函数有限制单行不超过250字符,单行超过250字符会被截成多行输出。可根据实际使用情况调整下。
create or replace procedure put_line_unlimit(p_string in varchar2 )
is
l_string long default p_string;
enternum number;
begin
loop
exit when l_string is null;
enternum := least(instr(l_string, chr(10), 1,1),250);
if enternum=0 then
dbms_output.put_line(l_string);
l_string := '';
else
dbms_output.put_line(substr(l_string,1,enternum-1));
l_string := substr(l_string,enternum+1);
end if;
end loop;
end;