78 lines
1.6 KiB
Transact-SQL
78 lines
1.6 KiB
Transact-SQL
-- =============================================
|
|
-- 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 |