语法:SPO[OL] [file_name[.ext] [CRE[ATE] | REP[LACE] | APP[END]] | OFF | OUT]
功能:将查询结果存放到文件,并可选择将文件发送到打印机。
常见使用场景:执行脚本时,屏幕输出信息过多,甚至无法将全部输出信息缓存在屏幕,这时可以将输出信息全部spool到文件。
spool file_name[.ext] 直接在spool后接文件名时,表示将输出信息存入文件中,文件名可以写成全路径形式,如spool /u01/spool01.txt 。若文件名没有加文件类型后缀,系统一船会自动添加LST or LIS作为文件后缀。文件名后不接任何参数时,默认使用replace参数,等同spool file_name replace 。
spool fine_name create 将信息spool到新建的文件fine_name中,如果文件名已存在,则创建失败。
SQL> spool zz.txt create;
SP2-0771: File "zz.txt" already exists.
Use another name or "SPOOL filename[.ext] REPLACE"
spool fine_name replace 将信息存入指定文件中,当文件存在时则replace,不存在则create。
spool fine_name append 将信息追加到指定文件中,如果文件不存在,则创建文件。
spool off 关闭spool。
spool out 停止spool,并将文件发送到打印机。
单独执行spool命令可以查看当前spool的状态。
SQL> spool off;
SQL> spool
not spooling currently
SQL> spool tt.txt
SQL> spool
currently spooling to tt.txt