A)假設在文件夾c:\scripts
中有4個.sql
文件(script1.sql,script2.sql,script3.sql,script4.sql)
。 B)用下面的代碼創建一個主腳本文件(Main.sql
),請注意我給出了腳本的相對路徑。在sqlcmd模式下指定:r命令的相對路徑
:r script1.sql
:r script2.sql
:r script3.sql
:r script4.sql
將Main.sql
保存在c:\scripts itself
中。
C)創建一個名爲 「ExecuteScripts.bat
」 具有以下的批處理文件: -
SQLCMD -E -d<YourDatabaseName> -ic:\Scripts\Main.sql
PAUSE
當我運行的批處理文件,它無法script1.sql文件。當我給完整路徑C:\scripts\script1.sql
,它工作正常,但我不想在這裏硬編碼路徑。
使用sqlcmd可以實現這個嗎?
'pushd「%〜f0」'對我不起作用,但'pushd'%〜dp0''確實有效。 – Nathan
@Nathan - 你絕對正確。這是我的一個馬虎的錯誤。謝謝。我通過編輯更正了答案。 – dbenham