Torna al Thread

CREATE PROCEDURE [dbo].[ChiusuraMese] ( @Codalbergo Int, @CodComAlbergo Int, @Data SmallDateTime=Null, @Data1 SmallDateTime=Null ) AS --DECLARE @MyDate datetime DECLARE @numRow Int DECLARE @numRowA Int DECLARE @numRowP Int DECLARE @codalb Int DECLARE @codcomalb Int DECLARE @ncomp Int DECLARE @annogestionale Int DECLARE @data_elaborazione SmallDateTime DECLARE @stato Varchar DECLARE @STATORES varchar(250) DECLARE @codnazione Int DECLARE @comune varchar(250) DECLARE @provincia varchar(2) DECLARE @codcomune int DECLARE @codgruppo int SET @numRow = 0 DECLARE @nschedina int BEGIN CREATE TABLE #tblTemp ( numRow INT , nschedina int, codalbergo INT , codcomalb INT , annogestionale Int, data_elaborazione SmallDateTime, data_Arrivo SmallDateTime , data_Partenza SmallDateTime , stato varchar(1), statores varchar(250), codnazione int, comune varchar(250), provincia varchar(2), codcomune int, codgruppo int, nrcomp int ) DECLARE ShiftCursorValue CURSOR FOR SELECT max(prog_schedina)as nschedina,codalbergo,codcomalb,annogestionale,data_elaborazione,stato,ncomp,stato_res,codstato,comune,prov,codcomune,codgruppo FROM archivio_mov WHERE Codalbergo=@Codalbergo AND codcomalb=@CodComAlbergo AND Data_elaborazione BetWeen @Data AND @Data1 group by codalbergo,codcomalb,annogestionale,stato_res,codstato,comune,prov,codcomune,codgruppo,data_elaborazione,ncomp,stato Order by data_elaborazione OPEN ShiftCursorValue FETCH NEXT FROM ShiftCursorValue INTO @nschedina,@codalb,@codcomalb,@annogestionale,@data_elaborazione,@stato,@ncomp,@statores,@codnazione,@comune,@provincia,@codcomune,@codgruppo WHILE @@FETCH_STATUS = 0 BEGIN IF (LTRIM(@stato) = 'A') BEGIN SET @numRow = @numRow + 1 INSERT INTO #tblTemp (numRow,nschedina,codalbergo,codcomalb,annogestionale,stato,data_elaborazione,data_Arrivo,data_Partenza,statores,codnazione,comune,provincia,codcomune,codgruppo,nrcomp) VALUES (@numRow,@nschedina,@codalb,@codcomalb,@annogestionale,@stato,@data_elaborazione,@data_elaborazione,null,@statores,@codnazione,@comune,@provincia,@codcomune,@codgruppo,@ncomp) END IF (LTRIM(@stato) = 'P') --BEGIN BEGIN SELECT @numRowP =numrow FROM #tblTemp WHERE codalbergo=@codalbergo AND codcomalb=@codcomalb AND data_Partenza is null AND codnazione=@codnazione AND comune=@comune IF @numrowp is not null UPDATE #tblTemp SET data_partenza=@data_elaborazione WHERE (data_Partenza is null AND codalbergo=@codalbergo AND codcomune=@codcomune AND codnazione=@codnazione AND comune=@comune AND numRow=@numRowP) END FETCH NEXT FROM ShiftCursorValue INTO @nschedina,@codalb,@codcomalb,@annogestionale,@data_elaborazione,@stato,@ncomp,@statores,@codnazione,@comune,@provincia,@codcomune,@codgruppo END CLOSE ShiftCursorValue DEALLOCATE ShiftCursorValue select nschedina,codalbergo,codcomalb,annogestionale,statores,codnazione,comune,provincia,codcomune,codgruppo,data_elaborazione,data_arrivo,IsNull(data_partenza,Null) as data_partenza,nrcomp from #tbltemp where Codalbergo=@Codalbergo AND codcomalb=@Codcomalbergo AND Data_elaborazione BetWeen @Data AND @Data1 group by nschedina,codalbergo,codcomalb,annogestionale,statores,codnazione,comune,provincia,codcomune,codgruppo,data_elaborazione,data_arrivo,data_partenza,nrcomp Return END
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5