我正在使用一些我想要重用的SQL腳本,我需要使用一些變量。SQLCMD變量的路徑
具有運行與SQLCMD
sqlcmd -S <SERVER> -v PROJECT="<PROJECTNAME>" -i .\start.sql
SQL腳本在start.sql腳本蝙蝠劇本,我執行另一個SQL腳本是這樣的:
:r .\<PROJECTNAME>\init.sql
所以我硬編碼了變量的值和完美的作品。我想使用這個變量本身,但我無法讓它工作。
:r .\$(PROJECT)\init.sql
這裏的最後一行是我認爲會工作的。我已經測試打印出變量PROJECT中的值:
PRINT '$(PROJECT)'
這給了我變量的值。
希望任何人都可以幫助我使用該變量來執行文件夾中的腳本。
在此先感謝。
編輯: PRINT $(PROJECT)給出以下錯誤消息:名稱「XXX」在此上下文中是不允許的。有效表達式是常量,常量表達式和(在某些情況下)變量。列名不被允許。
XXX =變量的值。
當你使用'PRINT $(PROJECT)'(沒有單引號)時,你會得到什麼? – artm
你怎麼知道它不起作用?你收到錯誤信息了嗎?或者做了一件應該發生的事情不會發生?如果是這樣 - 什麼? – BeanFrog
不,就是這樣,如果我使用:r。\ $(PROJECT)\ init.sql,它只是在沒有任何消息的情況下跳過它。但是將$(PROJECT)切換到變量值,它運行另一個腳本。 –