对于经常操作Oracle的人来说,对spool肯定不陌生。

但是里面也有几个小的注意事项,要多加谨慎,小心被坑了。

1、spool如果不指定文件的后缀名,则会自动产生后缀名“.lst”。

曾经在shell脚本中,sqlplus连上去之后,spool一个文件,然后用shell去操作它,结果找不到文件,最后发现,spool出来的文件名字里多了一个后缀“.lst”,被坑了,从此使用spool,我都指定后缀名,如“.sql”等。

2、在shell脚本中,如果spool代码不是放在单独的sql文件中执行的,而是直接执行的,则会生成“SQL>”开头的语句。

例如下面的shell代码:

#!/usr/bin/env bashsqlplus / as sysdba << EOFset heading off pagesize 0 linesize 4096 echo off termout off feedback off colsep % wrap off trims onspool test.sqlselect 'success' from dual;spool offexit
EOF

这个代码所输出的test.sql则肯定会带着“SQL>”的内容。

而如果将spool单独放到一个sql文件去,再执行则不会有“SQL>”开头的内容,例如:

test_spool.sql:

set heading off pagesize 0 linesize 4096 echo off termout off feedback off colsep % wrap off trims on
spool test.sql
select 'success' from dual;
spool off

test.sh:

#!/usr/bin/env bashsqlplus / as sysdba << EOF@test_spool.sqlexit
EOF

如上方式执行,则不会生成含“SQL>”的字样内容。

如果觉得还得需要中间文件test_spool.sql的方式太麻烦,则可以使用“set SQLPROMPT --SQL>”命令,设置将要显示的“SQL>”为“--SQL>”,则这样spool出来的文件可以直接执行,因为“SQL>”已经被注释掉了。

当然如果你不嫌麻烦,也可以对spool生成出来的文件,使用sed命令将“SQL>”所在的行过滤掉,这样也行。

使用spool的注意事项相关推荐

  1. python cron_cron表达式

    一.通用Cron定时器表达式 cron:计划任务,是任务在约定的时间执行已经计划好的工作,这是表面的意思.在Linux中,我们经常用到 cron 服务器来完成这项工作.cron服务器可以根据配置文件约 ...

  2. oracle 新手注意事项

    1. 删除表的注意事项 在删除一个表中的全部数据时,须使用TRUNCATE TABLE 表名;因为用DROP TABLE,DELETE * FROM 表名时,TABLESPACE表空间该表的占用空间并 ...

  3. Rsync 备份服务:基本概述、应用场景、传输模式、注意事项、密码解决方案、服务实践、备份案例、结合inotify

    Rsync 备份服务 Rsync基本概述 rsync是一款开源.快速.多功能.可实现全量及增量的本地或远程数据同步备份的优秀工具.rsync软件适用于Unix/linux/Windows等多种操作系统 ...

  4. java shell spool_批量快速的导入导出Oracle的数据(spool缓冲池、java实现)

    1. Java代码实现思路 BufferedWriter writefile = new BufferedWriter(new FileWriter(file)); writefile.write(& ...

  5. oracle spool生成文件,用spool+unix shell生成文本文件

    比较熟悉使用ORACLE的人一般都会用spool命令来生成OS下的文本文件. 例如我们把scott.dept表生成文本文件的语句写成dept.sql,内容如下: set pages 50000; se ...

  6. C++ OP相关注意事项

    C++ OP相关注意事项 Paddle中Op的构建逻辑 1.Paddle中Op的构建逻辑 Paddle中所有的Op都继承自OperatorBase,且所有的Op都是无状态的,每个Op包含的成员变量只有 ...

  7. Hashing散列注意事项

    Hashing散列注意事项 Numba支持内置功能hash(),只需__hash__()在提供的参数上调用成员函数即可 .这使得添加对新类型的哈希支持变得微不足道,这是因为扩展APIoverload_ ...

  8. android 读取asset下的文件注意事项

    注意事项:file:后面是三个斜杠,后面是android_asset,在后面就是html的名字.

  9. Djang1.8+Python2.0迁移到Django2.0+Python3.6注意事项(转)

    Djang1.8+Python2.0迁移到Django2.0+Python3.6注意事项 参考:https://blog.csdn.net/weixin_40475396/article/detail ...

最新文章

  1. 二叉树的基本应用知识总结
  2. ajax php计数,jQuery+PHP+Ajax动态数字统计展示实例
  3. python爬虫完整实例-Python爬虫 实例
  4. lsqcurvefit拟合结果为复数_非线性拟合怎么转化为线性拟合?
  5. boot spring 接口接收数据_基于 Spring Boot 实现 Restful 风格接口,实现增删改查功能...
  6. spring系列-注解驱动原理及源码-属性赋值
  7. 剑桥大学eap入学测试准备!!!救命稻草
  8. C#——《C#语言程序设计》实验报告——面向对象程序设计——字符串加密
  9. TikTok面临用户流失、苹果iOS14公测、无代码定义下一代软件等| Decode the Week
  10. android 弹出框带标题栏,Android开发靠标题栏的弹框
  11. JavaOne 2012:向上,向上和向外:使用Akka扩展软件
  12. 通信业正面临一场巨变,要么滚蛋要么改变
  13. 安卓之旅第七站--实战演练之快给小宝宝买装备吧
  14. premiere cs6导出视频格式
  15. js实现手机摇一摇以及震动功能
  16. 渗透利器BurpSuite简介
  17. 计算机硬盘改造u盘,iPhone扩容硬盘不要扔!变废为宝!手把手教你如何改装U盘...
  18. java zxing条形码去掉两边空白,密度调整,固定条形码宽度
  19. UCOS操作系统基础
  20. vue实现页面全屏和退出全屏

热门文章

  1. conexant hd audio音频驱动
  2. 两个故事讲述什么是消息队列
  3. java开源项目之IQQ学习记录之项目环境搭建与启动
  4. 【原创】软件测试经验图谱硬技能之业务逻辑
  5. 2018.1.7 计算机算法课后习题总结
  6. 为什么祖传代码被称为“屎山”?
  7. 线程切换哪家强?RxJava与Flow的操作符对比
  8. 鸿蒙系统比安卓快,华为自研的鸿蒙系统比安卓快60%
  9. VS+QT——二维码生成(使用nayuki第三方库):从建工程开始
  10. gitHub设置SSH Key