set xact_abort on go begin transaction go set ANSI_NULLS on go /************************************* * STORED PROCEDURE stp_DDB_getDataFiltered * ottiene i dati nel diario di bordo filtrati x macchina, periodo e durata * * modif.: S.E.L. - 2010.07.13 **************************************/ alter PROCEDURE stp_DDB_getDataFiltered ( @IdxMacchina NVARCHAR(50), @Inizio DATETIME, @Fine DATETIME, @durataMin FLOAT ) AS -- controllo fine sia max uguale ad istante attuale DECLARE @adesso DATETIME SET @adesso = GETDATE() IF @fine > @adesso BEGIN SET @fine = @adesso END SELECT IdxMacchina, InizioStato, ISNULL(FineStato, @Fine) AS FineStato, IdxStato, ISNULL(DurataMinuti, DATEDIFF(s, InizioStato, @Fine)/60) AS DurataMinuti, Value, MatricolaKanban, KanbanCode, TempoCicloBase, PzPalletProd, MatrOpr, pallet FROM DiarioDiBordo WHERE ((IdxMacchina = @IdxMacchina) AND (InizioStato >= @Inizio) AND (InizioStato <= @Fine)) OR ((IdxMacchina = @IdxMacchina) AND (FineStato >= @Inizio) AND (FineStato <= @Fine)) ORDER BY InizioStato DESC RETURN go commit go -- registro versione... INSERT INTO [dbo].[LogUpdateDb] ([Versione],[Data]) VALUES(236, GETDATE()) GO