CREATE procedure [C6MartPeriodico].[BonificaDataQuality] as -- Log esecuzione INSERT INTO LOG_ESECUZIONE_PERIODICO (Nome, Inizio, Nota) VALUES ( 'BonificaDataQuality', GETDATE(), 'Elaborazione trimestrale' ) --1) copia exec [dbo].[CreaTabellaBackUp] 'tb_SegnalazioniDataQuality','C6MartPeriodico','preBonifica' --SELECT * into [C6StampeCentralizzate].[C6MartPeriodico].[tb_SegnalazioniDataQuality_2018mmdd _preBonifica --FROM [C6StampeCentralizzate].[C6MartPeriodico].[tb_SegnalazioniDataQuality] --2) metto in tabella temporanea la nuova tabella bonificata SELECT q.* into #appo FROM [C6StampeCentralizzate].[C6MartPeriodico].[tb_SegnalazioniDataQuality] q left join c6stagingperiodico.appo_contratti_limiter limit on limit.cod_fiscale = q.codicefiscale and limit.rete = q.rete where limit.cod_fiscale is not null or 0 = (select count(*) from [C6StagingPeriodico].[APPO_CONTRATTI_LIMITER] with (nolock)) --3) cancello la tabella attuale truncate table [C6StampeCentralizzate].[C6MartPeriodico].[tb_SegnalazioniDataQuality] --4) la ricreo bonificata insert into [C6StampeCentralizzate].[C6MartPeriodico].[tb_SegnalazioniDataQuality] ([idTipoControllo] ,[rete] ,[codiceFiscale] ,[descSegnalazione] ,[idElaborazione] ,[richiesta] ,[idFaseElaborazione] ,[dataInserimento]) select [idTipoControllo],[rete],[codiceFiscale],[descSegnalazione],[idElaborazione],[richiesta],[idFaseElaborazione],[dataInserimento] from #appo UPDATE LOG_ESECUZIONE_PERIODICO SET Fine = GETDATE(), Tipo = 'INSERT', Righe = @@ROWCOUNT WHERE Nome = 'BonificaDataQuality' AND Inizio = ( SELECT MAX(Inizio) FROM LOG_ESECUZIONE_PERIODICO WHERE Nome = 'BonificaDataQuality' )