SPOOL 命令使用实例【oracle导出纯文本格式文件】
SPOOL 命令使用实例【oracle导出纯文本格式文件】
SET echo off --在用start命令执行一个sql脚本时,是否显示脚本中正在执行的SQL语句;
SET feedback off --是否回显本次sql命令处理的记录条数,缺省为on;
SET heading off --是否显示列标题,缺省为on;
SET pagesize 50000 --设置每页有多少行数,缺省为14。当值设为0时,输出内容为一页且不显示列标题,为了避免分页,我们通常可设定为0。
SET termout off --是否在屏幕上显示输出的内容,或脚本中的命令的执行结果,缺省为on;
SET trimout on; --去除标准输出每行后面多余的空格,缺省为off;
SET timing off --显示每个sql语句花费的执行时间;
SET trimspool on --去除重定向(spool)输出每行的拖尾空格,缺省为off;
SET NULL text --显示时,用text值代替NULL值;
SET serveroutput off --是否显示用DBMS_OUTPUT.PUT_LINE包进行输出的信息;--编写存储过程时,大多会将必要的信息输出;
SET newpage none --设置页与页之间的分隔{1|n|NONE};当值为0时在每页开头有一个小的黑方框;当值为n时在页和页之间隔着n个空行;当为none时,会在页和页之间没有任何间隔;
SET linesize 1000 --设置一行可以容纳的字符数{80|n};输出内容大于设置的行可容纳的字符数,则折行显示.据实际字符设置,过大导出速度慢;
SET wrap on --输出行长度大于设置行长度时(用set linesize n命令设置);值为on时,多余的字符另起一行显示,否则多余的字符将被切除,不予显示;
SET verify off --是否显示替代变量被替代前后的语句;
SET colsep' '; --域输出分隔符;
------------------------------------------------------------------------------------------------------
导出文本数据的建议格式:
SQL*PLUS环境设置--
SET echo off --在用start命令执行一个sql脚本时,不显示脚本中正在执行的SQL语句
SET heading off --不显示字段的名称
SET pagesize 0 --设置输出每页行数,为了避免分页,可设定为0。设置为0时,输出内容为一页且不显示列标题具有SET heading off 包含的功能。
SET newpage none --页与页之间没有分隔
SET trimout on --去除标准输出每行后面多余的空格
SET trimspool on --去除重定向(spool)输出每行的拖尾空格
SET linesize 1000 --设置一行可以容纳的字符数
SET feedback off --是否回显本次sql命令处理的记录条数,缺省为on;
工作运用时导出文本数据的常用格式:
SET echo off
SET pagesize 0
SET feedback off
SET trimout on
SET trimspool on
SET linesize 1000
spool路径+文件名
需要执行的SQL代码
spool off
注:linesize要稍微设置大些,免得数据被截断,它应和相应的trimspool 结合使用防止导出的文本有太多的尾部空格。但是如果linesize设置太大,会大大降低导出的速度,另外在WINDOWS下导出最好不要用PLSQL导出,速度比较慢,直接用COMMEND下的SQLPLUS命令最小化窗口执行。
实例
要求
①导出的过程不在SQL*PLUS屏幕上显示
②导出的文本中不含有执行的SQL命令
③导出的文本中不含有字段名
④导出的文本中使用逗号(英文)作为字段的分隔符
⑤导出的文本中每行长200个字符
⑥导出的文本中每页999行
⑦导出的文本中每行后面的空格必须被截取
编写脚本txt_format.sql
set echo off --关闭脚本中正在执行的SQL语句的显示
set feedback off --关闭本次sql命令处理的记录条数,默认为on即去掉最后的已经选择的行数
set verify off --可以关闭和打开提示确认信息
set heading off --关闭标题的输出设置为off就去掉了select结果的字段名,只显示数据
set term off --不在屏幕上输出执行结果
set trimspool on --将每行后面多余的空格去掉【linesize-实际字符数=多余空格】
set trimout on --去除标准输出每行后面多余的空格
set linesize 200 --设置每行最多显示200个字符
set pagesize 0 --设置每页最多显示999行记录
set termout off --屏幕不显示查询数据
--@/home/oracle/leonarding/get_table.sql --设置导出哪个表里的数据和导出的样子,这是第二种方法
spool ls_test.txt --where <file> is file_name[.ext] [CRE[ATE]|REP[LACE]|APP[END]]
--只有关闭spool导出操作,才会在输出文件中看到输出内容,这句话不能写在spool off后面会报错
spool off
exit
注:请注意上面的两个地方:set部分和spool部分,前者用于设置导出的文本格式,后者再次执行一个sql脚本:get_table.sql进行导出。下面我们再看另一个脚本get_table.sql
select rnc_id||'|'||rnc_label_cn||'|'||rnc_label_en from rnc;
那么我们来看一下结果ls_test.txt
876947945|TJRNC04_260|TJRNC04_260
1128405375|TJRNC03_259|TJRNC03_259
1723122318|TJRNC05_261|TJRNC05_261
4290614068|TJRNC06_262|TJRNC06_262
145277785|TJRNC14_270|TJRNC14_270
96954|TJRNC02_258|TJRNC02_258
96956|TJRNC10_266|TJRNC10_266
96907|TJRNC08_264|TJRNC08_264
96926|TJRNC09_265|TJRNC09_265
96930|TJRNC12_268|TJRNC12_268
96932|TJRNC11_267|TJRNC11_267
96934|TJRNC13_269|TJRNC13_269
96946|TJRNC01_257|TJRNC01_257
96948|TJRNC15_271|TJRNC15_271
96950|TJRNC16_272|TJRNC16_272
96952|TJRNC17_273|TJRNC17_273
96906|TJRNC07_263|TJRNC07_263
以下的文章主要介绍的是如何正确的把Oracle数据导出成Txt 的格式,Oracle数据导出成Txt 在实际应用中的比例还是比较常见的,以下的文章主要是对实际操作方案的描述,以下就是正文的主要内容的描述。
Oracle数据库提供的SQL功能很好很强大,用得越多越觉得自己浅薄无知。
上周做系统演示时需要手工制造一些文本数据充当数据源,想偷偷懒就用了Toad工具直接查询后导出成csv格式。今天正好有点时间,整理了一下思路,用sql去实现文本数据的生成。写了大致框架,有空时再来完善吧。
步骤如下:
新建一个sql脚本 d:\czrk.sql,代码如下: SET echo off
- SET feedback off
- SET newpage none
- SET pagesize 50000
- SET linesize 20000
- SET verify off
- SET pagesize 0
- SET term off
- SET trims ON
- SET heading off
- SET trimspool ON
- SET trimout ON
- SET timing off
- SET verify off
- SET colsep |
- spool d:\czrk.txt
- SELECT sfzh || ',' || xm || ',' || xb || ','
|| csrq || ',' || mz|| ',' || xzqh|| ',' || jzdz FROM m_czrk WHERE rownum<=10000; - spool off
Oracle数据导出成Txt格式:sqlplus连接上数据库,执行脚本
- sqlplus dc/dc@mydb;
- sqlplus>@d:\czrk.sql
这样就在d盘下生成了一万条数据了。
以上的相关内容就是对把Oracle数据导出成Txt格式的介绍。
SPOOL 命令使用实例【oracle导出纯文本格式文件】的更多相关文章
- (转载)DBGridEh导出Excel等格式文件
DBGridEh导出Excel等格式文件 uses DBGridEhImpExp; {--------------------------------------------------------- ...
- 将Mysql的一张表导出至Excel格式文件
将Mysql的一张表导出至Excel格式文件 导出语句 进入mysql数据库,输入如下sql语句: select id, name, age from tablename into outfile ' ...
- 让ASP.NET Web API支持POST纯文本格式(text/plain)的数据
今天在web api中遇到了这样一个问题,虽然api的参数类型是string,但只能接收post body中json格式的string,不能接收原始string. web api是这样定义的: pub ...
- 关于markdown(typora)的操作指南,以及导出为word格式文件插件(pandoc-2.6-windows-x86_64)的下载
Markdown简介 插件链接文章结尾处 目录 Markdown简介1. Markdown是什么?2. 谁创造了它?3. 为什么要使用它?4. 怎么使用?4.1 标题4.2 段落4.3 区块引用4.4 ...
- 利用mysqldump命令导出为csv格式文件
解决方法: 先导出为txt文件,其内容是以逗号“,”分隔的,得到txt文件后,再自行处理为.csv或者.xls文件. 参数说明: -t, --no-create-info Don't write ...
- 正则表达式实现将html文本转换为纯文本格式(将html字符串转换为纯文本方法)
Regex regex = new Regex("<.+?>", RegexOptions.IgnoreCase); string strOutput = regex. ...
- richtextbox Ctrl+V只粘贴纯文本格式
只能粘贴剪切板中的TXT内容 并且 不能改变 剪切板的内容1 当用户按下Ctrl+V屏蔽系统的粘贴功能,然后添加自己的功能2019年12月19日 19:34:38 private void richT ...
- 将table导出为excel格式文件
html: <table cellpadding="0" cellspacing="0" class="data_table" id= ...
- 【ASP.NET Core】从向 Web API 提交纯文本内容谈起
前些时日,老周在升级“华南闲肾回收登记平台”时,为了扩展业务,尤其是允许其他开发人员在其他平台向本系统提交有关肾的介绍资料,于是就为该系统增加了几个 Web API. 其中,有关肾的介绍采用纯文本方式 ...
随机推荐
- css3新特性学习系列 -- border
css3新特性 border属性(border-radius.border-image.box-shadow)详解 1.border-radius 圆角 支持:IE9+ 用法: border-rad ...
- mysql负载均衡
一.docker安装haproxy:docker pull haproxy 二.配置haproxy(参考url:https://zhangge.net/5125.html),vim /usr/loca ...
- package control(转载)
Package Control(扩展包管理器) []Package Control 可以看做是一个ST的扩展管理器,可以去下载.安装.删除 Sublime Text 3的各种插件.皮肤等. [ ...
- 编程数学(A-2)-次方
百度百科:次方. 特别是一个数的负次方需要注意.
- MySQL prepare语句的SQL语法
MySQL prepare语法: PREPARE statement_name FROM preparable_SQL_statement; /*定义*/ EXECUTE statement_name ...
- HDU 1525 Euclid Game
题目大意: 给定2个数a , b,假定b>=a总是从b中取走一个a的整数倍,也就是让 b-k*a(k*a<=b) 每人执行一步这个操作,最后得到0的人胜利结束游戏 (0,a)是一个终止态P ...
- poj 1733离散化(map)+并查集
http://blog.sina.com.cn/s/blog_803d08c00100y2yy.html #include<stdio.h> #include<iostream> ...
- POJ3107 树的重心
题解:只不过如果有求多个点,输出所有方案. #include<cstring> #include<cmath> #include<iostream> #includ ...
- node框架express里面静态文件中间件express.static,根据路径名查找文件
- 是express框架下的一个方法,可以根据请求路径名查找某个文件下文件名字和路径名相同的文件 - 3.X里面有20多个中间件,但是在4.X里面 只保留了express.static - 语法 ex ...
- [NOIP2006] 提高组 洛谷P1064 金明的预算方案
题目描述 金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间金明自己专用的很宽敞的房间.更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过N元钱就行”.今 ...