方法一:使用SQLPlus的spool命令

- set echo off –在用start命令执行一个sql脚本时,是否显示脚本中正在执行的SQL语句
- set feedback off –是否显示当前sql语句查询或修改的行数
- set newpage none –会在页和页之间没有任何间隔
- set verify off —
- set pagesize 0 –分多少页
- set term off –在用spool命令将一个大表中的内容输出到一个文件中时,将内容输出在屏幕上会耗费大量的时间,设置set termspool off后,则输出的内容只会保存在输出文件中,不会显示在屏幕上,极大的提高了spool的速度。
- set trims on –将SPOOL输出中每行后面多余的空格去掉
- set linesize 600 –设置屏幕显示行宽,默认100
- set heading off –禁止输出列标题
- set timing off –默认为OFF,设置查询耗时,可用来估计SQL语句的执行时间,测试性能
- set numwidth 38
- SPOOL D:aaa.txt
- select UserTelNo || ',' || to_char(ReceiveTime,'yyyy-MM-dd HH24:MI:SS') || ',' || UserContent || ',' || ReplyContent FROM LogSMSHall_Mutual WHERE rownum<=100;
- SPOOL OFF
优点:
缺点:
方法二:使用UTL_FILE包的文件操作命令

- DECLARE
- row_result varchar2(1024);
- selectsql varchar2(1024);
- qrycursor SYS_REFCURSOR;
- txt_handle UTL_FILE.file_type;
- BEGIN
- selectsql := ' select bizname ||'' ''|| bizstatus from bizbusinessbaseinfo ';
- txt_handle := UTL_FILE.FOPEN('D:/UTL','a.txt','w');
- open qrycursor for selectsql;
- loop
- fetch qrycursor into row_result;
- exit when qrycursor%notfound;
- UTL_FILE.PUT_LINE(txt_handle,row_result);
- end loop;
- –关闭游标
- close qrycursor;
- UTL_FILE.FCLOSE(txt_handle);
- end;
优点:
缺点: