使用spool的注意事项
对于经常操作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的注意事项相关推荐
- python cron_cron表达式
一.通用Cron定时器表达式 cron:计划任务,是任务在约定的时间执行已经计划好的工作,这是表面的意思.在Linux中,我们经常用到 cron 服务器来完成这项工作.cron服务器可以根据配置文件约 ...
- oracle 新手注意事项
1. 删除表的注意事项 在删除一个表中的全部数据时,须使用TRUNCATE TABLE 表名;因为用DROP TABLE,DELETE * FROM 表名时,TABLESPACE表空间该表的占用空间并 ...
- Rsync 备份服务:基本概述、应用场景、传输模式、注意事项、密码解决方案、服务实践、备份案例、结合inotify
Rsync 备份服务 Rsync基本概述 rsync是一款开源.快速.多功能.可实现全量及增量的本地或远程数据同步备份的优秀工具.rsync软件适用于Unix/linux/Windows等多种操作系统 ...
- java shell spool_批量快速的导入导出Oracle的数据(spool缓冲池、java实现)
1. Java代码实现思路 BufferedWriter writefile = new BufferedWriter(new FileWriter(file)); writefile.write(& ...
- oracle spool生成文件,用spool+unix shell生成文本文件
比较熟悉使用ORACLE的人一般都会用spool命令来生成OS下的文本文件. 例如我们把scott.dept表生成文本文件的语句写成dept.sql,内容如下: set pages 50000; se ...
- C++ OP相关注意事项
C++ OP相关注意事项 Paddle中Op的构建逻辑 1.Paddle中Op的构建逻辑 Paddle中所有的Op都继承自OperatorBase,且所有的Op都是无状态的,每个Op包含的成员变量只有 ...
- Hashing散列注意事项
Hashing散列注意事项 Numba支持内置功能hash(),只需__hash__()在提供的参数上调用成员函数即可 .这使得添加对新类型的哈希支持变得微不足道,这是因为扩展APIoverload_ ...
- android 读取asset下的文件注意事项
注意事项:file:后面是三个斜杠,后面是android_asset,在后面就是html的名字.
- Djang1.8+Python2.0迁移到Django2.0+Python3.6注意事项(转)
Djang1.8+Python2.0迁移到Django2.0+Python3.6注意事项 参考:https://blog.csdn.net/weixin_40475396/article/detail ...
最新文章
- 二叉树的基本应用知识总结
- ajax php计数,jQuery+PHP+Ajax动态数字统计展示实例
- python爬虫完整实例-Python爬虫 实例
- lsqcurvefit拟合结果为复数_非线性拟合怎么转化为线性拟合?
- boot spring 接口接收数据_基于 Spring Boot 实现 Restful 风格接口,实现增删改查功能...
- spring系列-注解驱动原理及源码-属性赋值
- 剑桥大学eap入学测试准备!!!救命稻草
- C#——《C#语言程序设计》实验报告——面向对象程序设计——字符串加密
- TikTok面临用户流失、苹果iOS14公测、无代码定义下一代软件等| Decode the Week
- android 弹出框带标题栏,Android开发靠标题栏的弹框
- JavaOne 2012:向上,向上和向外:使用Akka扩展软件
- 通信业正面临一场巨变,要么滚蛋要么改变
- 安卓之旅第七站--实战演练之快给小宝宝买装备吧
- premiere cs6导出视频格式
- js实现手机摇一摇以及震动功能
- 渗透利器BurpSuite简介
- 计算机硬盘改造u盘,iPhone扩容硬盘不要扔!变废为宝!手把手教你如何改装U盘...
- java zxing条形码去掉两边空白,密度调整,固定条形码宽度
- UCOS操作系统基础
- vue实现页面全屏和退出全屏