Выполнить большой запрос SQL из файла bat - PullRequest
1 голос
/ 25 июня 2019

Я пытаюсь запустить ежемесячную выписку из БД SQL Express, используя файл .bat, вызываемый из планировщика Windows, и запрос SQL большой (около 50 строк), и я не могу понять, как включить такой большой скрипт в файле bat без того, чтобы все было сведено в одну (длинную) одну строку текста. Существует ли команда возврата каретки (или аналогичная), которую я могу использовать для сохранения запроса в удобочитаемом формате SQL, как у меня ниже?

SELECT a.[Application_Number]
  ,case when c_MNI >0 then 
    100*(a.monthly_living_allowance +
    a.New_Home_Loan_Repayment_Amount +
    c_mc)/c_MNI 
  else 0 end as nsr_calc
  ,a.[FIN_Total_Net_Service_Ratio] as NSR
  ,a.Total_Annual_Income_Gross_Total as Annual_Gross
  ,a.fin_total_annual_income_net1 as Annual_Net
  ,C_MNI as MNI 
  ,C_MC  as MC
  ,a.[monthly_living_allowance] as MLA
  ,a.[Manual_MLA]
  ,a.[Manual_MLA_Flag] ....etc etc...

1 Ответ

1 голос
/ 25 июня 2019

Вы можете использовать sqlcmd в вашем bat-файле.Поместите ваш SQL-скрипт в файл, скажем, это DoSomeQuery.sql.Затем вызовите sqlcmd в вашем bat-файле следующим образом:

sqlcmd -S servername -U user -P password -d DB_Name -i DoSomeQuery.sql

Если у вас есть несколько sql-файлов, вы можете использовать команду в вашем bat-файле следующим образом:

for /r . %%f in (*.sql) do sqlcmd -S servername -U user -P password -d DB_Name -i "%%f"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...