2015-08-18 3 views
1

Я думаю, что у меня есть другая основная проблема с кавычками или предложениями в моем динамическом sql, но я не могу заставить этот код работать. Я пытаюсь вывести переменную из sp_executesql и продолжать получать следующую ошибку: Msg 102, Level 15, State 1, Line 10 Incorrect syntax near '='.Неправильный синтаксис около '=' dynamic sql

Все параметры без отображения были объявлены ранее в инструкции (я могу их перечислить, если это полезно). Пожалуйста, помогите мне выяснить, что я делаю неправильно! Спасибо

DECLARE @SqlCommand2 NVARCHAR(MAX) 
, @LastDate DATETIME 

SET @SqlCommand2= N'SELECT MAX('+QUOTENAME(@DateField)+')[email protected] 
       FROM '+QUOTENAME(@table)+' 
       WHERE PgmAdmissionKey = @PgmAdmissionKey' 

EXEC sp_executesql @SqlCommand2, N'@DateField VARCHAR(100), @table VARCHAR(100), @PgmAdmissionKey INT, @LDate DATETIME OUTPUT', @[email protected], @[email protected], @[email protected], @[email protected] OUTPUT 
+1

Ваш SQL не имеет смысла. Это как сказать: select FieldName = Value Из таблицы – aquinas

ответ

0

Вы вероятно означало:

SELECT @LDate = MAX('+QUOTENAME(@DateField)+') 
+0

smh, я не понимал, что заказ имел значение :( – Julian

Смежные вопросы