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

时间:2022-11-03 09:11:15

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

?
1
2
3
spool j:\test.txt
select sysdate from dual;
spool off;

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

补充:SQL查询结果写入txt

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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;

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

原文链接:https://blog.csdn.net/u013107634/article/details/52187069