現實的項目中經常可能會出現需要用批次檔來執行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.txtexit
在這個bat檔案裡面我們調用絕對路徑的sql檔案,並將執行過程及結果輸出到log.txt檔案中。
最後,我們運行bat檔案,來看下一log.txt檔案記錄內容。
SQL*Plus: Release 10.1.0.2.0 - Production on 星期四 4月 7 18:26:03 2011Copyright (c) 1982, 2004, Oracle. All rights reserved.串連到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - ProductionWith the Partitioning, OLAP and Data Mining options表已建立。從 Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - ProductionWith the Partitioning, OLAP and Data Mining options 斷開
通過這個日誌我們可以看到,建立log表是成功的了。再去資料庫中確認,也可以看到log表確實是建立起來了。
二、bat檔案調用資料庫中的預存程序
這個調用過程和上面的調用過程原理是一樣的,在此就做個簡單的說明。
假設資料庫中一個預存程序,名稱為Produce_log
我們只需要修改獨立的sql檔案如下即可:
execute Produce_log;
exit;
具體的執行結果請朋友們自己嘗試。