国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > SQL Server > 正文

sql中循環處理當前行數據和上一行數據相加減

2020-07-25 12:56:14
字體:
來源:轉載
供稿:網友

  以下事例,使用游標循環表#temptable中數據,然后讓當前行和上一行中的argument1 相加 存放到當前行的 argument2 中,比較簡單。

--drop table #temptablecreate table #temptable(  argument1 int,  argument2 int,  argument3 datetime)declare @rowcount int,@argument1 int,@argument2 nvarchar(50),@argument3 datetimeset @rowcount=1set @argument1=1set @argument2=0set @argument3=GETDATE()while(@rowcount<100)begin  insert into #temptable(argument1,argument2,argument3)        values(@argument1,@argument2,@argument3)    set @argument1=@argument1 + datepart(day,@argument3)  set @argument3=@argument3-1    set @rowcount = @rowcount + 1end--select * from #temptabledeclare @lastargument2 intset @lastargument2=0set @argument2=0declare _cursor cursor for(select argument1 from #temptable)open _cursor;fetch next from _cursor into @argument2 while @@fetch_status = 0begin        update #temptable  set argument2=@argument2+@lastargument2  where current of _cursor    set @lastargument2=@argument2    fetch next from _cursor into @argument2 endclose _cursordeallocate _cursor--select * from #temptable

問一個問題:

第一句fetch next from _cursor into @argument2 這句為什么不能放在while循環的第一行,刪除第二行呢?我記得自己當時在這里出錯了,呵呵。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阆中市| 海淀区| 饶河县| 延川县| 鄂尔多斯市| 衡山县| 阳高县| 县级市| 丹寨县| 新宁县| 汉寿县| 长汀县| 萍乡市| 曲阜市| 竹溪县| 永康市| 井陉县| 万山特区| 无棣县| 贡嘎县| 滨州市| 大厂| 肇州县| 离岛区| 沙田区| 桃源县| 嘉义县| 大竹县| 景宁| 尉犁县| 大同县| 肇源县| 南开区| 两当县| 合水县| 玉树县| 襄汾县| 定安县| 长汀县| 嫩江县| 宣城市|