1 概述
1. 目的:"命令行结果集导出至文件 或 打印"
2. 注意:spool 是 sql*plus 的命令 -- 不是标准 sql 语法
2 语法
spool[file_name
[create | replace | append]
off | out]
参数解释:
1. file_name: 保存查询结果集的 '路径 和 文件名'
(1) 如:"D:\Oracle\a.txt"
2. 创建文件 -- Oracle 10g、11g 新增的
(1) create :若存在,则 '报错'
(2) replace:若存在,则 '替换',默认
(3) append :若存在,则 '追加内容'
3. 结束
(1) off: 完成 spool -- 自动生成文件
(2) out: 停止 spool -- 将文件输出到终端设备,如:打印机。会提示你保存文件
举例:查询 scott.emp 表的记录并保存
Connected to Oracle Database 11g Enterprise Edition Release 11.2.0.1.0
Connected as system@ORCL
SQL> spool "C:\Users\YoYo\Desktop\1.sql"
Started spooling to C:\Users\YoYo\Desktop\1.sql
SQL> select * from scott.emp t;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
----- ---------- --------- ----- ----------- --------- --------- ------
7369 SMITH CLERK 7902 1980/12/17 800.00 20
7499 ALLEN SALESMAN 7698 1981/2/20 1600.00 300.00 30
7521 WARD SALESMAN 7698 1981/2/22 1250.00 500.00 30
7566 JONES MANAGER 7839 1981/4/2 2975.00 20
7654 MARTIN SALESMAN 7698 1981/9/28 1250.00 1400.00 30
7698 BLAKE MANAGER 7839 1981/5/1 2850.00 30
7782 CLARK MANAGER 7839 1981/6/9 2450.00 10
7788 SCOTT ANALYST 7566 1987/4/19 3000.00 20
7839 KING PRESIDENT 1981/11/17 5000.00 10
7844 TURNER SALESMAN 7698 1981/9/8 1500.00 0.00 30
7876 ADAMS CLERK 7788 1987/5/23 1100.00 20
7900 JAMES CLERK 7698 1981/12/3 950.00 30
7902 FORD ANALYST 7566 1981/12/3 3000.00 20
7934 MILLER CLERK 7782 1982/1/23 1300.00 10
14 rows selected
SQL> spool off
Stopped spooling to C:\Users\YoYo\Desktop\1.sql
SQL>
3 实例
- 为了适应各种显示要求,也可以使用 set 命令
- 可用的 set 命令有很多,整理中
set feedback off -- 显示每次 sql 执行情况,默认 on
set time on
set echo on
spool "C:\Users\YoYo\Desktop\1.sql"
select * from scott.emp t;
spool off
版权声明:本文为m0_37253968原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。