DECLARE @Description NVARCHAR(128) = N'MS_Description'
--Just for good measure
SET @Description = N'MS_Description'
Первое утверждение - я пытаюсь использовать sp_sqlexec
, сохраняя свой SQL с динамическими параметрами в строке:
SELECT @query = @query + 'SELECT * FROM TABLE
WHERE COLUMN = ' + @Description
EXEC sp_sqlexec @query
Выше не работает, я получаю следующую ошибку:
Неверное имя столбца 'MS_Description'
Когда я отлаживаю через это, оператор точно такой же, как приведенный ниже запрос, который работает и возвращает результаты, которые я хочу.
SELECT *
FROM table
WHERE column = @Description
Может ли кто-нибудь объяснить разницу и почему работает нижеследующее, если это то же самое, что хранится в @query
? Спасибо