Я бы хотел выполнить следующую команду через SQLCMD:
IF DB_ID('My_DB') IS NOT NULL DROP DATABASE My_DB
Хотя есть несколько предостережений ...
- Имя базы данных является динамическим
- Программа, которая запускает команду (BuildForge), не заменит переменную, если она появляется в одинарных кавычках
Итак, я не могу использовать:
-Q"IF DB_ID('${db_name}') IS NOT NULL DROP DATABASE ${db_name}
потому что он будет использовать литерал $ {db_name} в одинарных кавычках. Я также не могу использовать:
-Q"IF DB_ID("${db_name}") IS NOT NULL DROP DATABASE ${db_name}
потому что SQLCMD срабатывает в начале и в конце двойных кавычек.
Я знаю, что могу создать скрипт и передать параметр для имени базы данных, но есть ли способ сделать это в одной командной строке без скрипта? Есть ли способ избежать двойных кавычек и т. Д.? Существует ли синтаксис BuildForge, который позволил бы мне правильно построить строку?
Спасибо!