Я пытаюсь передать в @accountType, значение char для хранимой процедуры, использующей динамический SQL. В процедуре объявляется char(4)
. Текущая ошибка Incorrect syntax near 'D'
, если я попытаюсь ее изменить, я получаю invalid column: D
.Сложность с использованием CHAR в динамическом SQL
Я не могу понять, как динамический SQL хочет, чтобы я указал, что переменная является символом. Я пробовал это много способов, вот самый последнее:
set @q = 'Update ' + @statementTable +
' SET Account = '+ @padding + @accountNumber +
' WHERE ClosingDate BETWEEN CAST('''+CONVERT(VARCHAR(20),@proc_dateStart)+''' AS DATE) AND CAST('''+CONVERT(VARCHAR(20),@proc_dateEnd)+''' AS DATE)' +
' AND AccountType =' + ''''+ @accountType +''''
Значения исходит из моих C# код в точности так: D
одинарных кавычек или что-нибудь вокруг буквы. Есть идеи? Я немного застрял в этом.