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

69 lines
1.9 KiB
Transact-SQL

-- Schema: C6MartPeriodico
-- Stored Procedure: BonificaDataQuality
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'
)