2016-09-14 2 views
0

У меня есть SQL-запрос, который мне нужно запустить в нескольких экземплярах через один запрос.Запрос Sqlcmd в базе данных mutliple «Неожиданный аргумент»

Use Extracts 
DECLARE @RunDate DATETIME; 
DECLARE @WeeklyRunDate DATETIME; 
SET @RunDate = '2016/08/31' 
SET @WeeklyRunDate = (select DATEADD(dd, -(DATEPART(dw, @RunDate)-1), @RunDate)) 
Update Extracts..Processlastruns 
Set Proclastrunsystemdate [email protected] , proclastwritesystemdate [email protected] 
Where Procrunid in(select Procrunid From Extracts..Processruns Where Procrunenabled ='1' and Procrunfreqdaycount ='7') 
Update Extracts..Processlastruns 
Set Proclastrunsystemdate [email protected] , proclastwritesystemdate [email protected] 
Where Procrunid in(select Procrunid From Extracts..Processruns Where Procrunenabled ='1' and Procrunfreqdaycount ='1') 

Я использую этот запрос, но он не работает. Я ловлю "Неожиданный аргумент"

sqlcmd -S 192.168.0.1 -U sa -P test1234 
"Use Extracts DECLARE @RunDate DATETIME; DECLARE @WeeklyRunDate DATETIME; SET @RunDate = '2016/08/31' SET @WeeklyRunDate = (select DATEADD(dd, -(DATEPART(dw, @RunDate)-1), @RunDate)) Update Extracts..Processlastruns Set Proclastrunsystemdate [email protected] , proclastwritesystemdate [email protected] Where Procrunid in(select Procrunid From Extracts..Processruns Where Procrunenabled ='1' and Procrunfreqdaycount ='7') Update Extracts..Processlastruns Set Proclastrunsystemdate [email protected] proclastwritesystemdate [email protected] Where Procrunid in(select Procrunid From Extracts..Processruns Where Procrunenabled ='1' and Procrunfreqdaycount ='1')" -o extract.csv -s"," -w 700 

ответ

0

Пожалуйста, попробуйте добавить переключатель -QMicrosoft sqlcmd Utility

sqlcmd -S 192.168.0.1 -U sa -P test1234 -Q "your SQL" -o extract.csv -s"," -w 700 
+0

Спасибо! Задача решена. – Raven

+0

@Raven Вы можете отметить это как ответ? Спасибо – Prisoner

0

Изменение Обновление Extracts..Processlastruns Для Update Extracts.Processlastruns, также есть какое-то место, где ваш запрос есть '..' в таблице префиксов

+0

Нет, это не помогает, потому что, если я запускаю этот запрос в Management Studio, он работает хорошо. Но когда я пытаюсь сделать запрос Sqlcmd, он делает ошибку. Я думаю что-то в синтаксисе sqlcmd. – Raven