Historia: Zużycia historyczne dla odczytów wodomierzy
Porównaj wersje strony
Wersja strony: 2014/11/26 15:47
--Zużycia historyczne dla odczytów wodomierzy
--Pierwszy cursor dla międzyrzecza
declare @Odczyty table
( id int,odczyty_id_wodomierz int,odczyty_id int,odczyty_data int,odczyty_stan int,odczyty_roznica int,odczyty_status varchar (20),odczyty_dni numeric (16,4))
insert into @Odczyty
select YWO_Id,
YWO_IdWodomierz,YWO_Odczyt,YWO_Data,YWO_Odczyt,0,YWO_Status,0
from db_gwmax.dbo.YWodomierz_Odczyt
---where YWO_Data>=77982 ----and (YWO_IdWodomierz=716973)
order by YWO_IdWodomierz,YWO_Data
declare kursor_ cursor
for select odczyty_stan,odczyty_data, odczyty_id_wodomierz
from @Odczyty order by odczyty_data asc
for update of odczyty_roznica
open kursor_
declare @odczyt int
declare @odczyt_data int
declare @odczyty_id_wodomierz int
fetch next from kursor_
into @odczyt,@odczyt_data,@odczyty_id_wodomierz
while
FETCH_STATUS =0
begin
update @Odczyty
set odczyty_roznica = odczyty_stan-@odczyt
,odczyty_dni=odczyty_data-@odczyt_data
where odczyty_data>@odczyt_data and odczyty_id_wodomierz=@odczyty_id_wodomierz
fetch next from kursor_ into @odczyt,@odczyt_data,@odczyty_id_wodomierz
end
close kursor_
deallocate kursor_
Update db_gwmax.dbo.YWodomierz_Odczyt
set YWO_Uwagi='Zużycie:'+' '+cast(odczyty_roznica as varchar)
from @Odczyty
where YWO_Id=id
GO