问题描述
有时需要将输出结果保存在文件中,那么,怎样将结果直接保存在文件中?
问题分析
如果要将查询结果应用到文件中,或经过编辑后再重新使用时,则需要将查询结果保存在一个文件中。在保存的同时,仍然能使查询结果在SQL*Plus窗口中显示。为此,只需要在SQL*Plus的命令窗口中,使用命令spool即可,命令格式如下:
spool<file_name>
其中,file_name是要保存输出结果的文件名,如果没有指定文件名的后缀,则系统自动将其后缀指定为.lst或.lis。文件默认的路径与SQL*Plus在同一个路径之下,也可任意指定到其他路径。若查询完毕,则关闭文件。格式为:spool off。
问题解答
具体步骤如下。
步骤1:进行环境变量的设置。例如,执行下列SET命令:
set echo off
set feedback off
set verify off
set heading off
spool off
set colsep"
步骤2:创建用于保存输出的平面文件。
spool<spool_flat_file>
例如:spool d:/Spool_flatquery.txt
这样,SQL*Plus将把所有的输出以及在屏幕上的命令等都指定给该文件。
步骤3:执行查询输出。此时,系统并没有把结果保存到文件中,而是保存到缓冲区中。
步骤4:查询结束后,关闭文件即可。命令格式为:spool off。
此时,系统才真正把所有输出结果保存到文件中。
以上方法适用于MS-DOS环境下的SQL*Plus。在Sqlplusw.exe中,使用“文件”→“使用假脱机”和“关闭假脱机”即可。