Я пытаюсь экспортировать мои SQL результаты запроса, которые я хотел бы сделать это автоматически когда вы выполнить запрос. Я видел примеры использования вывода для, который я пытался использовать, но это дало бы мне синтаксическую ошибку, как в примерах Select * From dbo.anyTable Output to
, но для меня, где у меня есть где и внутреннее соединение в моем запросе У меня есть ) a после этого, что я думаю, является проблемой. Я знаю, что можно сохранить его, щелкнув правой кнопкой мыши и сохранить результаты как, но это не то, что я хочу идеально, так как я хотел бы автоматизировать всю систему, которую я пытаюсь сделать.Как автоматически сохранять результаты запроса SQL в CSV-файл
Например, я хотел бы попробовать и сделать это с частью моего запроса:
Select top 1 a.NAME, COUNT(*) OVER() AS totalRows
From (Select de.NAME From dbo.DEPLOYMENT_ENVIRONMENT as de
Inner join dbo.DEPLOYMENT_RESULT as dr
on dr.ENVIRONMENT_ID = de.ENVIRONMENT_ID
Where @filecontent = de.ENVIRONMENT_ID) a
OUTPUT TO @myPath
FORMAT TEXT
QUOTE '"'
WITH COLUMN NAMES;
EDIT Я следующий запрос, но он не создает файл или любую ошибку то, что это я делать не так?
Set @OutputFilePath = 'C:\DeploymentPipelines'
Set @ExportSQL = 'EXEC master.dbo.xp_cmdshell ''bcp
"Select top 1 a.NAME, COUNT(*) OVER() AS totalRows
From (Select de.NAME From dbo.DEPLOYMENT_ENVIRONMENT as de
Inner join dbo.DEPLOYMENT_RESULT as dr
on dr.ENVIRONMENT_ID = de.ENVIRONMENT_ID
Where @filecontent = de.ENVIRONMENT_ID) a"
queryout "' + @OutputFilePath + '\results4.csv" -T -c -t -S DEV-BUILD01\SQLSERVER'''
Exec(@ExportSQL)
Возможно, вам понадобится [SQL Job] (https://msdn.microsoft.com/en-us/library/ms190268.aspx). – Null
Кроме того, возможно, будет возможно написать небольшой скрипт cmd, который выполняет ваш SQL-скрипт и записывает вывод в файл ... но я согласен: SQL Job может быть лучше. – Tyron78
Что редактирует, делает ли этот оператор выбора фактически на своем собственном? выглядит как синтаксическая ошибка здесь с двойной запятой; @ a.NAME,, COUNT (*) –