2015-10-06 20 views
0

我試圖運行一個批處理文件中的命令之下一個bat文件內的SQL腳本運行它調用其他3個SQL腳本

echo exit | sqlplus -S TEST_VKR/[email protected] C:\users\vkr\scripts\Master.sql > Output.txt 

的Master.sql有以下內容

@@ 01_Script.sql; 
@@ 02_Script.sql; 
@@ 03_Script.sql; 
@@ 04_Script.sql; 

這些腳本在Master.sql中單獨運行時不返回任何錯誤。只有Master.sql中的前3個腳本文件不會返回錯誤。當所有4個腳本在Master.sql中一起運行時,我懷疑03和04之間的重疊導致了錯誤。

有沒有辦法在Master.sql文件內的sql腳本之間添加一個等待步驟?

+0

嘗試將'@@'改爲一個'@' –

+0

錯誤是什麼,腳本是做什麼的,以及爲什麼您認爲「重疊」是問題的原因?除非其中一個腳本使用DBMS_JOB或DBMS_SCHEDULER啓動後臺進程,否則腳本3中的任何命令都應該在調用腳本4中的命令之前運行完成。 –

+0

我收到「無法打開文件」錯誤。注意:bat文件位於不同文件夾中,並且腳本位於不同文件夾中 – vkr

回答

0
for %a in (0?_Script.sql) do sqlplus -S TEST_VKR/[email protected] %a>>Output.txt 

for /l %a in (1,1,4) do sqlplus -S TEST_VKR/[email protected] 0%a_Script.sql>>Output.txt 

注:在一個batch file%a%%a)雙人的%並把回聲在sqlplus前測試之前施加的命令。