首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

sql 累加解决方案

2012-04-03 
sql 累加SQL codecreate table T([1] varchar(10),[2] varchar(10),[3] varchar(10),[4] varchar(10),x va

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 @i=@i+1    end


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

[解决办法]
这相当于拼接动态SQL的字符串了,要动态执行。

热点排行