(一)SPOOL是sqlplus中的命令

转自:https://blog.csdn.net/wangnan537/article/details/20706555

可作如下用途:

1)可使用SPOOL保存查询的结果集

[sql] view plaincopy
  1. SPOOL "C:\test.txt" --生成test.txt文件
  2. ...
  3. SPOOL OFF --终止,此时这些内容全部被写入文件outputfile中

2)可使用SPOOL命令生成一些动态的批量处理的脚本,如删除表:

[sql] view plaincopy
  1. SPOOL "C:\DropAllTables.sql"
  2. SELECT
  3. 'DROP TABLE ' || OBJECT_NAME || ' CASCADE CONSTRAINTS;'
  4. FROM USER_OBJECTS WHERE OBJECT_TYPE='TABLE' AND OBJECT_NAME NOT LIKE 'BIN%'
  5. order by CREATED ASC;
  1. SPOOL OFF

(二)详细解析SPOOL用法及使用-技术交流

转自:https://blog.csdn.net/zq9017197/article/details/8301674

SPOOL是SQLPLUS的命令

set wrap on;    //当输出的行的长度大于设置的行的长度时(用set linesizen命令设置),当set wrap on时,输出行的多于的字符会另起一行显示,否则,会将输出行的多于字符切除,不予显示。
set colsep ' ';   //域输出分隔符
set echo off;    //显示start启动的脚本中的每个sql命令,缺省为on
set feedback off;  //回显本次sql命令处理的记录条数,缺省为on
set heading off;   //输出域标题,缺省为on
set pagesize 0;   //输出每页行数,缺省为24,为了避免分页,可设定为0。
set termout off;   //显示脚本中的命令的执行结果,缺省为on
set trimout on;   //去除标准输出每行的拖尾空格,缺省为off
set trimspool on;  //去除重定向(spool)输出每行的拖尾空格,缺省为off

SQL*PLUS环境设置SET NEWPAGE NONE  //页和页之间没有任何间隔
                SET HEADING OFF   //不显示每行的列名
                SET SPACE 0       //设置各列间的空格数
                SET PAGESIZE 0    //不分页显示 
                SET TRIMOUT ON 
                SET TRIMSPOOL ON 
                SET LINESIZE 2500 //当输出的行的长度大于设置的行的长度

注:LINESIZE要稍微设置大些,免得数据被截断,它应和相应的TRIMSPOOL结合使用防止导出的文本有太多的尾部空格。

举例说明
1、编写test.sh
#!/bin/sh
user_name=test                               
password=123                        
service_name=test

sqlplus -s $user_name/$password@$service_name  //-s 参数屏蔽打印到屏幕上的其他信息
set colsep '    '
set echo off
set trimout on
set trimspool on
set linesize 1000
set pagesize 0
set heading off
set termout off
set feedback off

spool 路径+生成文件名
select id ||'     '||name  ||'     '|from t_user;  //执行的SQL,以tab键分隔
spool off
EOF

然后在后台主机上调用这个shell就可以了!!

2、需要说明的是由于这种方法调用set termout off是不起作用的,所以没执行完一条语句就会在屏幕上滚动显示。
所以需要将以下部分代码编写成一个SQL文件,如:test.sql
set colsep '    '
set echo off
set trimout on
set trimspool on
set linesize 1000
set pagesize 0
set heading off
set termout off
set feedback off

spool 路径+生成文件名
select id ||'     '||name  ||'     '|from t_user;  //执行的SQL,以tab键分隔
spool off
EOF

然后在后台通过
sqlplus -s $user_name/$password@$service_name @test.sql 这种方法去调用就会屏蔽掉屏幕滚动显示了

spool命令的使用相关推荐

  1. SQLPLUS SPOOL命令使用详解

    原文出处 SQLPLUS SPOOL命令使用详解 SPOOL是 SQLPLUS的命令,必须在SQLPLUS中使用,主要完成以标准输出方式输出SQLPLUS的命令及执行结果,一般常用户格式化导出ORAC ...

  2. spool命令、创建一个表,创建并且copy表,查看别的用户下的表,rowid行地址 索引的时候使用,表的增删改查,删除表,oracle的回收站

      1.spool 命令 spool "D:\test.txt" spool off SQL> host cls 2.创建一个表 SQL> --条件(1):有创 ...

  3. spool命令、创建一个表,创建而且copy表,查看别的用户下的表,rowid行地址 索引的时候使用,表的增删改查,删除表,oracle的回收站...

      1.spool命令 spool "D:\test.txt" spool off SQL> host cls 2.创建一个表 SQL> --条件(1):有创建 ...

  4. oracle中spool命令的使用,Oracle中Spool命令的使用方法实例

    Oracle中Spool命令的使用方法实例 前言 对于Oracle中的Spool命令,其实还可以换一种问法为,如何将sqlplus中的结果输出到指定的文件夹中. 近期在进行Oracle数据库备份的时候 ...

  5. oracle数据库基础:sqlplus与spool命令

    sqlplus命令 使用sqlplus登录之后,可以使用**buff(缓存)**来存储/执行/修改上一条运行的sql语句 . buff中只能存储一条sql语句,但是这条sql语句可能有很多行 每次放入 ...

  6. oracle数据库中spool的作用,Oracle中Spool命令如何使用 Oracle中Spool命令使用方法

    Oracle中Spool命令如何使用?本篇文章小编给大家分享一下Oracle中Spool命令使用方法,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 方法/步骤 首先需要明白 ...

  7. oracle spool命令

    1.spool的作用是什么? spool的作用可以用一句话来描述:在sqlplus中用来保存或打印查询结果. 通过spool 命令,可以将select 数据库的内容写到文件中,通过在sqlplus设置 ...

  8. spool 命令详解(Oracle数据库)

    记录 数据库命令 操作,并且储存在txt文件中 1.启动 spool 命令 SQL> spool path; path是创建记录命令的文件的绝对路径 2.clear screen 命令 SQL& ...

  9. mysql spool语法_Oracle的Spool命令

    使用Oracle spool命令实行将sql*plus中的输出的结果复制到一个指定的文件中,或者把查询的结果发送到打印机中,直接使用spool of 使用Oracle spool命令实行将sql*pl ...

最新文章

  1. 求n个数中第k大的数_互联网高频面试题目:「回溯算法」求组合总和
  2. Web安全学习week6
  3. PHP性能如何实现全面优化?
  4. 黑科技抢先尝 | Windows全新终端初体验(附代码Build全过程)
  5. (转载)Qt中使用cout输出的方法
  6. Promise学习笔记
  7. css —— 图片环绕+首行缩进
  8. 想学数学建模???先来看会这几个MATLAB题吧!!!(一)
  9. Python程序员之面试必回习题
  10. 记一次无法登录 wine QQ
  11. 必须要掌握的七种谈话技巧
  12. 计算机技能测试题6,2016年10月自考计算机网络技术练习题及答案(6)
  13. docker harbor 域名_Docker镜像仓库Harbor部署
  14. 学习matlab体会,学习matlab心得体会.doc
  15. Nginx部署前端项目
  16. 可以免费文字识别app有哪些?有这3款app就能够实现提取文字自由
  17. C# 匿名函数_C# 匿名函数使用整理
  18. 注册gitlab-runner
  19. 通过ODC方法改善软件测试:3个案例研究
  20. 统计字符串中汉字数目C++

热门文章

  1. properties和网络编程
  2. 串口助手是怎么做出来的 :第二节,串口助手功能的实现及验证
  3. java script和java有什么区别,java script和java的区别
  4. max-width和width的区别
  5. java json unicode转中文_JAVA unicode转换成中文
  6. FTP的那些事(三)——权限没问题,但是就是上传不上去
  7. [ 轻量级网络 ] 经典网络模型1——SqueezeNet 详解与复现
  8. 扫描线Sweep Line算法总结
  9. 安装brew、cocoapods
  10. scrollLeft等属性介绍