Oracle 命令行结果集导出或打印详解(spool 命令)

本文详细介绍了SQL*Plus中的spool命令,用于将命令行查询结果导出到文件。spool不是标准SQL语法,而是Oracle数据库管理工具sql*plus的一个特性。文章通过实例展示了如何使用spool创建、替换或追加文件,并提供了设置反馈、时间等选项的示例,帮助用户更好地理解和应用spool。
摘要由CSDN通过智能技术生成

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鱼丸丶粗面

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值