在oracle中将长sql输出,类似sql server的print

来源:互联网 发布:无硬件基础学linux 编辑:程序博客网 时间:2024/05/21 17:45
********************************************************************************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;   /********************************************************************************

 
原创粉丝点击