0
我試圖在@accountType中傳遞一個使用動態SQL的存儲過程的char值。在程序中聲明爲char(4)
。當前的錯誤是Incorrect syntax near 'D'
,如果我嘗試更改它,我會得到invalid column: D
。在動態SQL中使用CHAR時遇到困難
我不明白動態SQL如何讓我指出變量是char。我已經嘗試過很多方法,這裏是最近的:
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
沒有單引號或周圍的任何信件。有任何想法嗎?我對此有點卡住了。