PDC_REPORT_CreazioneDB/sql/storedCollaudo/C6Mart_DM_PARTITE_VIAGGIANTI.sql
2025-06-06 19:02:52 +02:00

95 lines
1.7 KiB
Transact-SQL

-- Schema: C6Mart
-- Stored Procedure: DM_PARTITE_VIAGGIANTI
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <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