Oracle bat批处理文件执行SQL文件
现实的项目中经常可能会出现需要用批处理文件来执行sql文件。下面就介绍下用bat批处理文件调用独立的sql文件和数据库中的存储过程。
一、bat文件调用sql文件
首先,做一个简单的sql文件(log.sql)。
create table log ( PROBLEMID VARCHAR2(40), PROBLEMNAME VARCHAR2(260), PROBLEMLEVEL VARCHAR2(40), PROBLEMORDER VARCHAR2(260), PARENTID VARCHAR2(40), ROOTTYPEDESC VARCHAR2(260), IFLEAF VARCHAR2(40), MEMO VARCHAR2(1000), IFVALID VARCHAR2(40), ROOTTYPE VARCHAR2(20) ); exit;
在这个SQL文件中我们创建了一个表。
接下来,我们来建一个bat批处理文件(log.bat)。
@echo off sqlplus cssp/cssp@gxcssp @H:\bat_sql\log.sql > log.txt exit
在这个bat文件里面我们调用绝对路径的sql文件,并将执行过程及结果输出到log.txt文件中。
最后,我们运行bat文件,来看下一log.txt文件记录内容。
SQL*Plus: Release 10.1.0.2.0 - Production on 星期四 4月 7 18:26:03 2011 Copyright (c) 1982, 2004, Oracle. All rights reserved. 连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options 表已创建。 从 Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options 断开
通过这个日志我们可以看到,创建log表是成功的了。再去数据库中确认,也可以看到log表确实是建立起来了。
二、bat文件调用数据库中的存储过程
这个调用过程和上面的调用过程原理是一样的,在此就做个简单的说明。
假设数据库中一个存储过程,名称为Produce_log
我们只需要修改独立的sql文件如下即可:
execute Produce_log;
exit;
具体的执行结果请朋友们自己尝试。