Oracle下命令行批量執行sql文件
有些場景下需要執行一批sql文件,sql文件非常大的時候,PL/SQL Developer無法直接執行,需要在sqlplus命令行下執行,而手工一個一個執行會很麻煩。我們可以把這些sql文件構造成一個sql文件,然后通過sqlplus命令行執行。sqlplus命令行可以通過“@sql文件全路徑名”執行sql文件。
第一步:創建總的sql文件
創建一個sql文件,然后在sql文件中以“@sql文件全路徑名”的方式列出所有要執行的sql文件(使用兩個@@可以寫成相對路徑名,所謂相對路徑指的是相對於總sql文件)。
例如:創建all.sql文件,在all.sql文件中列出要執行的sql文件名。
spool log.txt
@d:\sql\1.sql
@d:\sql\2.sql
@d:\sql\3.sql
……
spool off
第二步:登錄sqlplus命令行,執行sql文件
登錄sqlplus后,連接數據庫,使用“@sql文件全路徑名”執行sql文件。
無需關注圖中的亂碼,這是因為字符集的問題。
以上內容也可以通過編寫一個批處理程序來執行。