declare
@columnName varchar(30)
set @columnName = 'February'
declare
@year int
set @year = 2016
Declare @abc varchar(max)
set @abc = 'Update XYZ'+' '+ @columnName+ '= 562 WHERE Year =' +' '+ convert(varchar(6),@year)+' '
+ 'AND Category = RESOLUTION'+' ' +'AND Support_KPI = P1_Gold'
print @abc
execute (@abc)
上執行這個代碼,我得到這個作爲結果的列:無法更新存儲在一個變量
Update XYZ SET February= 562
WHERE Year = 2016 AND Category = RESOLUTION AND Support_KPI = P1_Gold
消息207,級別16,狀態1,行1 無效專欄名稱'RESOLUTION'。 消息207,級別16,狀態1,行1 無效的列名稱'P1_Gold'。
有什麼辦法擺脫這個錯誤,並獲得正確的列名?
首先,發生什麼錯誤?其次,你爲什麼期待這個工作?你說該列可以包含「January」到「December」,那麼你爲什麼試圖在其中存儲值「876」? – reduckted
@SaurabhMishra:你錯過了單引號。 – Wanderer