При запуске SQLCMD.exe и предоставлении аргументов командной строки для переменных сценариев я ожидаю, что значения, указанные в командной строке, переопределяют значения, определенные в файле сценария SQL.SQLCMD, переменные командной строки и скрипт: setvar
например.
Учитывая следующий SQL Script:
:setvar XXX "SQL script"
print '$(XXX)'
И командная строка:
sqlcmd.exe -S <Server> -d <Database> -E -b -i <Script> -v XXX="Batch script"
Я ожидаю, что выход будет:
Пакетный сценарий
Однако выход:
SQL скрипт
ли это намерение, или должны в :setvar
заявления в сценарии SQL будут удалены?
Я представил операторы :setvar
в сценарии, поэтому я могу редактировать/тестировать сценарий в SQL Management Studio с использованием режима SQLCMD, но запускать сценарии из командной строки в тестовых и производственных средах.
Это отстой! Спасибо – VirtualStaticVoid
Это действительно отстой! Я заметил, что предложение о Microsoft Connect было открыто в 2008 году, и оно по-прежнему активно. Ну, я проголосовал за это в любом случае, хотя мои надежды не очень высоки. –
http://www.codeproject.com/Articles/1019661/Powershell-Scripts-to-Replace-setvar-Variable-in-S – Kody