经典sql代码--逐行计算、逐行递延、逐行更新

发布时间:2020-11-26编辑:脚本学堂
经典sql代码 逐行计算 逐行递延 逐行更新

经典sql代码---逐行计算、逐行递延、逐行更新

-- 逐行计算、逐行递延、逐行更新
declare @tb table
(工号 int, 姓名 nvarchar(10), 数量 int, 基数 int, 开始号 int, 终止号 int)
 
insert @tb(工号, 姓名, 数量) select 1, N'张三', 5 
insert @tb(工号, 姓名, 数量) select 2, N'李四', 6 
insert @tb(工号, 姓名, 数量) select 3, N'王五', 7 

declare @num int,@begin int,@end int
select  @num=0
update @tb 
set @num=
case when @num=0 then 100 else @end 
end,
@begin=@num+1, @end=@num+数量, 基数=@num, 开始号=@begin, 终止号=@end
select * from @tb

/*工号        姓名        数量        基数        开始号      终止号         
----------- ---------- ----------- ----------- ----------- ----------- 
1           张三         5           100         101         105
2           李四         6           105         106         111
3           王五         7           111         112         118

(所影响的行数为 3 行)*/

原文链接:http://www.cnblogs.com/zengxiangzhan/archive/2010/01/03/1638168.html