1.spool的作用是什么?
spool的作用可以用一句话来形容。 用于在sqlplus中保存或打印查询结果。
可以使用spool命令将select数据库的内容写入文件。 可以通过在sqlplus中设置参数,以指定的方式写入文件。
spool 是sqlplus 下的导出运行命令;execute执行的是sql语句
使用Oracle数据库主要使用命令行方法,所有命令都是使用sqlplus执行的。 (请参阅sqlplus定义: SQL*PLUS_百度百科) ) )。
2 .语法介绍
oracle 10g、11g spool语法
spo [ ol ] [ file _ name [.ext ] [ cre [ ate ]|rep [ lace ]|app [ end ]|off|out ]
file_name[.txt]
保存查询结果集的路径和文件名。 如果未指定扩展名,则缺省名称通常为. lst或. lis。 如果将系统文件指定为/dev/null and /dev/stderr,则不添加扩展名。
off
完成假脱机。
out
停止spool并将文件输出到终端设备(如打印机) (可能不支持某些操作系统)。
在语法上,oracle在10g、11g上向spool添加了create、replace、append选项。
create
创建具有指定文件名的新文件; 如果指定的文件存在,则报告文件中存在错误。
replace
如果指定的文件存在,则复盖。 如果指定的文件不存在,则将创建该文件,并且replace将成为spool的默认选项。
append
将内容添加到指定的文件名; 如果指定的文件不存在,请创建。
sqlplus spool的create、replace、append选项示例
使用sqlplus spool将表导出为csv文件
sqlplus Oracle/pwd @ 192.168.10.1633601521/ORL @/tmp/lxm/export.SQL export.SQL中的脚本如下:
settrimspoolonsetlinesize 20000 set pagesize0setechooffsetfeedbackoffsetnewpage1setheadingoffsetwrapofsqlblanklineson--删除空行AAA.csvselectpython _ student.name |,'|| python _ student.agefrompython _ student; spool offexit的执行结果如下。
打开aaa.csv文件。 内容如下
zldzm、16tmdhxc、15Jim、18Kate和19 spool的常用设置:
设置头关闭:输出域标题,默认为on
set linesize 20000:linesize可以为了防止一行的长度不够而设定很大的点
set echo off :显示sqlplus中每个sql命令本身。 默认值为on
set feedback off :回显由此sql命令处理的记录数,默认为on
set pagesize 0:输出每页的行数,默认值为24,可以设置为0以避免分页
set termout off :显示脚本中命令的执行结果。 默认值为on
set trimout on :删除标准输出每行末尾的空格,默认为off
set trimspool on :删除重定向(spool )输出中每行末尾的空格。 缺省值为off
set echo on --是否显示已执行命令的内容
setfeedbackoff--是否显示rows selected
设置标题- -是否显示字段的名称
set verify off --是否显示替代变量被替换前后的语句。 文件
set trimspool off --删除字段中的空格
设置页面大小1000--页面大小
根据需要尽量设定set linesize 50//linesize设定,当变大时生成的文件也变大
可以在安装了oracle的计算机上报告plsql命令,以将远程oracle数据库上的文件导出到本地。 您需要携带IP地址和端口号。
参考:详细解说SPOOL命令在Oracle中的使用方法_guanyi的博客-CSDN博客_spool