-- Schema: C6Mart -- Stored Procedure: DM_MIFID_20181004 -- 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'