-- Schema: C6Mart -- Stored Procedure: DM_PARTITE_VIAGGIANTI -- ============================================= -- Author: -- Create date: -- Description: -- ============================================= CREATE procedure [C6Mart].[DM_PARTITE_VIAGGIANTI] AS BEGIN SET NOCOUNT ON; DECLARE @ID_ELAB INT DECLARE @TIPO_ELAB VARCHAR(1) SET @ID_ELAB = C6MART.GETIDELAB() SET @TIPO_ELAB = C6MART.GETTIPOELAB() -- Log esecuzione INSERT INTO LOG_ESECUZIONE (Nome, Inizio, Nota) VALUES ( 'DM_PARTITE_VIAGGIANTI', GETDATE(), 'Elaborazione giornaliera' ) TRUNCATE TABLE C6MART.PARTITE_VIAGGIANTI INSERT INTO C6Mart.PARTITE_VIAGGIANTI (RETE ,COD_FISCALE ,IMPORTO ,ID_ELAB ,TIPO_ELAB) SELECT RETE, COD_FISCALE, SUM(IMPORTO) AS IMPORTO, @ID_ELAB, @TIPO_ELAB FROM ( SELECT SPB_PARTITE_VIAGG.RETE AS RETE, SPB_PARTITE_VIAGG.CODICEFISCALE AS COD_FISCALE, SUM(IMPORTOVERSATO) AS IMPORTO FROM C6Staging.SPB_PARTITE_VIAGG GROUP BY SPB_PARTITE_VIAGG.RETE, SPB_PARTITE_VIAGG.CODICEFISCALE UNION ALL --- inserimento partite viaggianti in disinvestimento SELECT SPB_PARTITE_VIAGG_DISINV.RETE AS RETE, SPB_PARTITE_VIAGG_DISINV.CODICEFISCALE AS COD_FISCALE, SUM(IMPORTOVERSATO) AS IMPORTO FROM C6Staging.SPB_PARTITE_VIAGG_DISINV GROUP BY SPB_PARTITE_VIAGG_DISINV.RETE, SPB_PARTITE_VIAGG_DISINV.CODICEFISCALE ) k GROUP BY RETE, COD_FISCALE -- Log esecuzione UPDATE LOG_ESECUZIONE SET Fine = GETDATE(), Tipo = 'INSERT', Righe = @@ROWCOUNT WHERE Nome = 'DM_PARTITE_VIAGGIANTI' AND Inizio = ( SELECT MAX(Inizio) FROM LOG_ESECUZIONE WHERE Nome = 'DM_PARTITE_VIAGGIANTI' ) END