------解决方案-------------------- 我是这样写的
DECLARE @ZA002 char(2),@ZA005 Numeric(16,6),@ZA006 Numeric(16,6),@ZA007 Numeric(16,6),@ZA008 Numeric(16,6)
SELECT @ZA005=ZA005 FROM @ACTZA WHERE ZA002='00'
declare my_cursor cursor for
select ZA002,ZA005,ZA006,ZA007 from @ACTZA order by ZA002 desc
Open my_cursor
fetch my_cursor into @ZA002,@ZA005,@ZA006,@ZA007
while @@fetch_status=0
begin
SET @ZA008=@ZA005+@ZA006-@ZA007
UPDATE A SET A.ZA008=@ZA008 FROM @ACTZA A WHERE A.ZA002=@ZA002
fetch my_cursor into @ZA002,@ZA005,@ZA006,@ZA007
end
close my_cursor
deallocate my_cursor
要怎么调整 ------解决方案-------------------- DECLARE @ZA002 char(2),@ZA005 Numeric(16,6),@ZA006 Numeric(16,6),@ZA007 Numeric(16,6),@ZA008 Numeric(16,6)
SELECT @ZA005=ZA005 FROM @ACTZA WHERE ZA002='00'
----以下是增加的代码
DECLARE @save08 int
set @save08 = 0
---以上是增加的代码
declare my_cursor cursor for
select ZA002,ZA005,ZA006,ZA007 from @ACTZA order by ZA002 desc
Open my_cursor
fetch my_cursor into @ZA002,@ZA005,@ZA006,@ZA007
while @@fetch_status=0
begin
---修改
SET @ZA008=@save08+@ZA005+@ZA006-@ZA007
UPDATE A SET A.ZA008=@ZA008 FROM @ACTZA A WHERE A.ZA002=@ZA002