当前位置: 代码迷 >> Sql Server >> sql 累加解决方案
  详细解决方案

sql 累加解决方案

热度:10   发布时间:2016-04-27 13:46:59.0
sql 累加
SQL code
create table T(    [1] varchar(10),    [2] varchar(10),    [3] varchar(10),    [4] varchar(10),    x varchar(10));insert into Tselect '0','X','0','2','0'unionselect '1','2','Y','2','0'unionselect '3','X','X','2','0'unionselect '0','Y','1','2','0'declare @i int,@i_column varchar(10)set @i=1set @i_column=''while @i<=4    begin        set @i_column='['+cast(@i as varchar(10))+']'        update T set x=cast(x as float)+(case when ltrim(rtrim(@i_column))='x' then 1 when ltrim(rtrim(@i_column))='y' then 0.5 else 0 end)        set @[email protected]+1    end


以上代码update得不到值,改用exec后可以,WHY

------解决方案--------------------
这相当于拼接动态SQL的字符串了,要动态执行。
  相关解决方案