【发布时间】:2016-06-21 22:42:58
【问题描述】:
以下是导致错误的查询:
EXECUTE (' UPDATE facetswrk.dbo.ODS_SUBSC_PREM_REPORT ' + ' SET ' + @lcrcolumn_name + ' = ' + @lcrcolumn_total)
【问题讨论】:
-
@lcrcolumn_name和@lcrcolumn_total的值是多少? -
如果您要更新 varchar 列,则 syntex : EXECUTE (' UPDATE facetswrk.dbo.ODS_SUBSC_PREM_REPORT ' + ' SET ' + @lcrcolumn_name + ' = ' ' + @lcrcolumn_total+''')
-
旁注:使用 sp_executesql 减少 sql 注入机会
-
如果语句是由字符串连接生成的,sp_executesql 本身不会防止 SQL 注入。使用参数化查询将
标签: sql-server sql-server-2012