PDC_REPORT_CreazioneDB/sql/Collaudo/procedure/C6Mart_DM_MIFID_20181004.sql
2025-06-10 15:29:00 +02:00

101 lines
2.6 KiB
Transact-SQL

-- Stored procedure
-- =============================================
-- Author: Paolo Giovanetti
-- Create date: 24/11/2008
-- Description: Aggiunta chiave primaria autoincrement su tabella di staging
-- per eliminazione duplicati.
-- =============================================
CREATE procedure [C6Mart].[DM_MIFID_20181004]
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_MIFID',
GETDATE(),
'Elaborazione giornaliera'
)
TRUNCATE TABLE C6MART.MIFID
INSERT INTO [C6Mart].[MIFID]
([RETE]
,[COD_FISCALE]
,[COMPILAZIONE]
,[PROFILO_ASS]
,[PROFILO_CALC]
,[DATA_INIZIO_VAL]
,[DATA_FINE_VAL]
,[ID_ELAB]
,[TIPO_ELAB]
,[RISKCLASS]
,[EXPERIENCE]
,[SCADUTO])
SELECT
MIFID.RETE AS RETE,
MIFID.CODICEFISCALE AS COD_FISCALE,
MIFID.ACCETTACOMPILAZIONE AS COMPILAZIONE,
MIFID.CODICEPROFILOASSEGNATO AS PROFILO_ASS,
MIFID.CODICEPROFILOCALCOLATO AS PROFILO_CALC,
MIFID.DATAINIZIOVALIDITA AS DATA_INIZIO_VAL,
MIFID.DATAFINEVALIDITA AS DATA_FINE_VAL,
@ID_ELAB AS ID_ELAB,
@TIPO_ELAB AS TIPO_ELAB,
RISK.CODICECLASSERC,
EXPERIENCE,
CASE
--WHEN datediff(dd,DATAINIZIOVALIDITA,getdate())/365.25<3 THEN 0
WHEN DATAFINEVALIDITA >= getdate() THEN 0
ELSE 1
END AS SCADUTO
FROM C6STAGING.SPB_MIFID MIFID JOIN
C6STAGING.SPB_PROF_RISCHIO RISK
ON MIFID.CODICEPROFILOASSEGNATO = RISK.CODICEPROFILO
WHERE MIFID.STATUS in (1) --Se prendo anche lo storico potrei avere duplicazione,2)
-- INNER JOIN ( -- PER ELIMINARE DUPLICAZIONE DATI
-- SELECT SPB_MIFID.RETE, SPB_MIFID.CODICEFISCALE, MAX(OID) AS OID
-- FROM C6STAGING.SPB_MIFID
-- GROUP BY SPB_MIFID.RETE, SPB_MIFID.CODICEFISCALE
-- ) DOPPI ON SPB_MIFID.OID = DOPPI.OID
-- CONSOLI - UPDATE PER CLIENTI EX BANCA SARA IN ATTESA DELLA SISTEMAZIONE COMPLETA.
/*UPDATE C6MART.MIFID
SET SCADUTO=0
WHERE
COD_FISCALE in
(
'BOILSN65T54B354J'
,'FRIVLR69D27H501F'
,'CTLTZN59B49F717O'
,'FNFLSS62L03D612C'
,'FRNGCR42D07G999O'
,'GRMGRL41T17D612L'
,'MTTMND35P14H791O'
,'FCCMRT41A29H501J'
)*/
-- Log esecuzione
UPDATE
LOG_ESECUZIONE
SET
Fine = GETDATE(),
Tipo = 'INSERT',
Righe = @@ROWCOUNT
WHERE
Nome = 'DM_MIFID' AND
Inizio = (
SELECT
MAX(Inizio)
FROM
LOG_ESECUZIONE
WHERE
Nome = 'DM_MIFID'
)
END
--select * from c6mart.mifid where scaduto = 1
--
--select * from
--C6STAGING.SPB_MIFID
--where dataInizioValidita < '20080401'