以下是导致错误的查询:
EXECUTE (' UPDATE facetswrk.dbo.ODS_SUBSC_PREM_REPORT ' + ' SET ' + @lcrcolumn_name + ' = ' + @lcrcolumn_total)
答案 0 :(得分:1)
你的语法没问题,可能你的列名有错误的valye,或者你需要将@lcrcolumn_tot转换为nvarchar。
给我们变量的值,pr自己用流动的语句检查:
declare @lcrcolumn_name nvarchar(50) = 'blabla',
@lcrcolumn_tot nvarchar(50) = 10
declare @sql nvarchar(4000);
set @sql = ' UPDATE facetswrk.dbo.ODS_SUBSC_PREM_REPORT SET ' + @lcrcolumn_name + ' = ' + @lcrcolumn_tot
print @sql
execute(@sql)
答案 1 :(得分:0)
最好是在执行它之前打印动态sql以了解导致错误的原因,你可能在@lcrcolumn_name和@lcrcolumn_total中有一些数据值可能会产生问题。