Oracle Spool教程
1.spool的作用是什么?
spool的作用可以用一句话来描述:在sqlplus中用来保存或打印查询结果。
2.spool在oracle 9i、10g和11g下的语法及使用示例
oracle 9i spool语法
SPO[OL] [file_name[.ext]|OFF|OUT]
oracle 10g、11g spool语法
SPO[OL] [file_name[.ext] [CRE[ATE] | REP[LACE] | APP[END]] | OFF | OUT]
oracle 9i spool的主法比较简单,其实就相当于oracle 10g中spool的replace选项,因此本文主要介绍oracle 10g的选项。
file_name[.txt]
保存查询结果集的的路径和文件名,如果没有指定后缀名,默认名一般为.lst或.lis。如果指定系统文件为/dev/null and /dev/stderr,则不会添加后缀名。
off
完成spool。
out
停止spool,并将文件输出到终端设备上,如打印机(可能有些操作系统不支持)。
我们从语法上可以看到,oracle在10g、11g中对spool增加了create、replace、append选项,
create
创建指定文件名的新文件;如指定文件存在,则报文件存在错误。
replace
如果指定文件存在则覆盖替换;如指定文件不存在,则创建,replace为spool默认选项。
append
向指定文件名中追加内容;如指定文件不存在,则创建。
sqlplus spool的create、replace、append选项示例
spool spool.ora create
spool spool.ora repalce
spool spool.ora append
select taskindex||'|'||commonindex||'|'||tasktype||'|'||to_number(to_char(sysdate,'YYYYMMDD')) from ssrv_sendsms_task;