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;

    具体的执行结果请朋友们自己尝试。

posted @ 2011-04-07 22:45  星空有我  阅读(21634)  评论(3编辑  收藏  举报