是的,你可以使用sqlcmd來做到這一點。
首先 - 變量。您可以使用$(variablename)
將.sql文件中的變量引用到要替換變量的位置。例如,
use $(dbname);
select $(columnname) from table1 where column= '$(var1)'
然後您使用以下命令(注意參數-v變量)
sqlcmd -S servername -d database -i "yoursqlfile.sql" -v dbname="database" columnname="column" var1="Fred"
調用SQLCMD爲了其輸出到一個文件,你標記> FILENAME.TXT上結束
sqlcmd -S servername -d database -i "yoursqlfile.sql" -v dbname="database" columnname="column" var1="Fred" > filename.txt
如果要輸出到CSV,你也可以指定使用參數-s(注意與服務器大寫的S的idfference)的分隔符。所以現在我們有
sqlcmd -S servername -d database -s "," -i "yoursqlfile.sql" -v dbname="database" columnname="column" var1="Fred" > filename.csv
如果要輸出多個命令到相同的CSV或TXT文件,使用>>而不是>,因爲它添加到該文件的底部德,而不是取代它。
sqlcmd -S servername -d database -s "," -i "yoursqlfile.sql" -v dbname="database" columnname="column" var1="Fred" >> filename.csv
要爲幾個腳本運行它,你可以把一個批處理文件語句,然後每個星期換一次的變量。
從SQL代理作業運行的SQL Server Integration Services將執行此操作。 –
嗨Kajan,我只是看看你的個人資料。你已經提出了3個問題,但沒有接受任何問題。請在這裏查看一下:[someone-answers](http://stackoverflow.com/help/someone-answers)。問題是,沒有被接受的問題永遠存在。 Thx – Shnugo