[SQLPLUS]自动保存执行过的SQL

来源:互联网 发布:粉钥匙软件 编辑:程序博客网 时间:2024/06/03 17:40

在学习oracle的时候,想把执行过的命令和结果记录下来,但是使用SQLPLUS每次save也不是办法,每次手动spool又挺麻烦,于是自己制作了一个SQLPLUS的BAT脚本来实现自动SPOOL到文件里面

脚本内容

@echo offcolor 0aecho ***********自定义SQLPLUS**************echo ***可自动输出日期格式LOG到指定位置****echo *********Created by Cryking***********echo *************2012.12.25***************sqlplus "/as sysdba" @d:\script\autospool.sqlexit


--其中autospool.sql内容如下:

set feedback offset trimspool onset term offcolumn dt1 new_value filenameSELECT TO_CHAR(SYSDATE,'YYYYMMDD') dt1 FROM DUAL;SPOOL D:\练习\study&&filename..TXT APPEND

每次就运行脚本来启动SQLPLUS,这样就不用每次都手动SPOOL一下了,呵呵,脚本比较简单

本来想直接加在login.sql里的,但是指定文件名的时候出现问题,也就是说登录SQLPLUS就执行了login.sql这个脚本了,此时还未连接数据库,不能使用SELECT ... FROM DUAL,如果在login.sql中加上conn ..连接数据库又会产生递归问题,所以最终也没想出什么方法能在login.sql这里实现自动spool,如果有高手会,还请指点一下。。。