50 lines
1.8 KiB
Transact-SQL
50 lines
1.8 KiB
Transact-SQL
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'
|
|
) |