求高效更新语句

tongnaifu 2012-03-01 11:32:53
declare @t table(fID decimal(10,0)
,fValue decimal(18,0)
,fTotal decimal(18,0)
)
declare @bID decimal(10,0)
,@bCount decimal(10,0)
set @bCount =1500
set @bID=1
while @bID<=@bCount
begin
insert into @t (fID ,fValue )
select @bID,@bID
select @bID+=1
end

select * from @t
--求此处的高效更新语句
update @t set fTotal =v2.fValue
from @t v1
left join (select a.fID,fValue=SUM (b.fValue) from @t a
left join @t b on a.fID >=b.fID
group by a.fID) v2 on v1.fID =v2.fID

select * from @t
...全文
47 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
百年树人 2012-03-02
  • 打赏
  • 举报
回复
try
declare @tmp int
set @tmp=0
update @t
set @tmp=@tmp+fValue,fTotal=@tmp

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧