我有一张这样的表:
SSN NAME PT1 PT2 PT3
0002 Abby 12 14 15
现在我正在编写一个使用ssn,pt name和一个新值输入的过程。假设我可以匹配ssn 0002,我需要找到PT2来将值更新为28。
我很困惑,因为更新格式是update / set / where。但是,如何将列名与输入匹配,而不是逐个检查它们?我当然可以做到
IF ptname = PT1 then ... else IF ptname = PT2 then ...
然而,代码将是乏味的。任何建议将不胜感激!谢谢!
答案 0 :(得分:0)
在变量
中创建sqlDECLARE @mySQL nVARCHAR(4000)
SET @mySQL = 'UPDATE tableName SET '+ @strColumn + ' = ' + @strValue
EXECUTE sys.sp_executesql @mySQL, N'@strColumn VARCHAR(12), @strValue VARCHAR(12)',strColumn ,strValue