批量執行sql檔案並輸出執行日誌

2021-07-04 06:07:24 字數 1015 閱讀 3979

近日在做庫專案部署時,有很多步繁瑣的步驟,比如:

1.刪除表指令碼 2.建表指令碼 3.建儲存過程指令碼 4.建檢視指令碼 5.建索引指令碼等等很多步驟,在執行這些指令碼時,一步步執行,非常麻煩,並且容易出錯,還沒有日誌檔案,所以就想找乙個簡單且能記錄日誌的方法。

下面是簡化過程:

1.建乙個main.bat檔案,內容為:

sqlplus lxq/lxq@orcl @d:\tmp\table\main.sql 

exit;

2.建乙個main.sql檔案,用來控制執行哪些sql指令碼

@d:\tmp\table\01droptable.sql

@d:\tmp\table\02createtable.sql

@d:\tmp\table\03prolist.sql

@d:\tmp\table\04view.sql

@d:\tmp\table\05index.sql

exit

3.對每個指令碼新增log日誌功能

為刪除表指令碼新增日誌:

spool log-01droptable.log

drop table tmp_1 purge;

spool off

為建表語句新增日誌:

spool log-02table.log

prompt

prompt creating table tmp_1

prompt ********************=

prompt

create table tmp_1

( statistic_date date,

org_cd varchar2(40)

);spool off

... 同理,為其他指令碼新增日誌。

這樣,直接執行main.bat,那麼所有的指令碼就都可以建立成功了,部署一鍵就可完成,還可檢視日誌。

Oracle批量執行SQL檔案步驟

1 執行cmd進入命令列介面 2 進入到存放批量sql的資料夾下面 3 輸入命令 sqlplus 資料庫名 密碼 資料庫 按回車鍵 4 輸入spool 指定路徑 a.log 按回車鍵 此步驟的主要作用就是追蹤批量執行sql的日誌,路徑隨便寫,只要能找到就行,a.log可以隨便起名,但是必須要.log...

Clickhouse 批量執行SQL檔案等常用語句

有一堆或者太長的sql需要執行,可以寫成乙個檔案,批量執行 clickhouse client user 使用者名稱 password 密碼 d 資料庫 multiquery root temp.sql檢視sql的執行計畫 clickhouse client h localhost send log...

從配置檔案裡面讀取sql並批量執行

public class sqlexecutor private static list readsqlfromfile log.info 將從檔案裡面讀取的資料,有 sqllist.size 條 catch exception e finally catch ioexception e 2.將li...