日期:2014-05-18 浏览次数:20658 次
IF OBJECT_ID('tbl_a') IS NOT NULL DROP table tbl_a GO create table tbl_a(A varchar(10) ,B int ,C int,D int ) insert into tbl_a values('期初',0,0,102) insert into tbl_a values('1',1,2,0) insert into tbl_a values('1',1,5,0) insert into tbl_a values('1',2,5,0) insert into tbl_a values('1',3,5,0) insert into tbl_a values('1',4,5,0) insert into tbl_a values('1',4,7,0) insert into tbl_a values('1',4,8,0) insert into tbl_a values('1',5,8,0) select * from tbl_a -------------------------------第二一下代码 想实现(表tbl_a) D=D+B-C ----------执行下代码会提示 :: --消息 16931,级别 16,状态 1,第 15 行 --当前提取缓冲区内没有行。 declare @num int,@ii int select @num=COUNT(*) from tbl_a set @ii=1 declare my_cursor cursor scroll dynamic for select B,C,D from tbl_a open my_cursor declare @a int ,@b int ,@c int ,@aa int ,@bb int,@cc int,@dd int fetch next from my_cursor into @a ,@b ,@c while(@@fetch_status=0) begin if @ii=1 set @cc=@c fetch next from my_cursor into @a ,@b ,@c if @@fetch_status=0 update tbl_a set D=@cc+@a-@b where current of my_cursor set @ii=@ii+1 set @cc=@cc+@a-@b end close my_cursor deallocate my_cursor select * from tbl_a