Oracle 如何实现将查询结果保存到文本txt中

说了一千句一万句壮志豪言,不行动你还是碌碌无为;如果你行动了,哪怕只是一个小小的动作,你就有可能解决了温饱大计。

① 新建文件 test.sql 把下面代码copy 到test.sql 脚本中

spool j:\test.txt
select sysdate from dual;
spool off;

② 执行命令 @ j:\test.sql,输出结果就保存到了test.txt文件中了。

补充:SQL查询结果写入txt

什么也不说,直接来个例子。

CREATE OR REPLACE PROCEDURE PROC_INSERTSQLTXT AS 

 V_FILE UTL_FILE.FILE_TYPE;
 V_INPUT CLOB;
BEGIN
 V_FILE := UTL_FILE.FOPEN('DATA_PUMP_DIR', 'EMPNO.TXT', 'W');
 FOR I IN (SELECT EMPNO||'|'||
     ENAME||'|'||
     JOB ||'|'||
     MGR ||'|'||
     to_char(HIREDATE,'yyyy-mm-dd') ||'|'||
     SAL ||'|'||
     COMM ||'|'||
     DEPTNO as stringname FROM SCOTT.EMP)
 LOOP
 UTL_FILE.PUT_LINE(V_FILE,I.STRINGNAME);
 END LOOP;
 UTL_FILE.FCLOSE(V_FILE);
EXCEPTION
 WHEN UTL_FILE.ACCESS_DENIED THEN
 DBMS_OUTPUT.PUT_LINE('拒绝访问!');
 WHEN OTHERS THEN
 DBMS_OUTPUT.PUT_LINE('SQLERRM: ' || SQLERRM);
END;

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。