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

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

脚本内容

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


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

set feedback off
set trimspool on
set term off
column dt1 new_value filename
SELECT 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,如果有高手会,还请指点一下。。。

 

你可能感兴趣的:([SQLPLUS]自动保存执行过的SQL)