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

108 lines
2.3 KiB
Transact-SQL

-- Schema: dbo
-- Stored Procedure: srv_change_codfiscaleMassiva
-- =============================================
-- Author: Atzeri Emanuele
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE procedure [dbo].[srv_change_codfiscaleMassiva]
-- Add the parameters for the stored procedure here
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
--SET NOCOUNT ON;
DECLARE @Vecchio varchar(16)
DECLARE @Nuovo varchar(16)
DECLARE @DataIns datetime
DECLARE @isCodFis int
--DECLARE @UltimaData varchar(8)
Declare @contErr int
Declare @CodErr int
Declare @retDescErr varchar(500)
set @CodErr= 1
set @contErr= 0
-- SELECT @UltimaData = MAX(convert(varchar(8), DataOperazione, 112)) FROM dbo.RicodificaMassiva
-- UPDATE [CONSEVO].ConsulenzaBaseFL.dbo.RICODIF_CF_PIVA
-- SET Base = 0
-- FROM [CONSEVO].ConsulenzaBaseFL.dbo.RICODIF_CF_PIVA a
-- INNER JOIN C6Mart.Gestione_PDF_FTP b
-- ON a.CF_OLD = b.CodiceFiscale
-- WHERE
-- Base is null
--
-- UPDATE [CONSEVO].ConsulenzaBaseFL.dbo.RICODIF_CF_PIVA
-- SET Base = 1
-- WHERE
-- Base is null
DECLARE Ricodifica_cursor CURSOR FOR
-- SELECT Vecchio, Nuovo FROM dbo.RicodificaMassiva
-- WHERE DataOperazione > @UltimaData
SELECT CF_OLD, CF_NEW, DTINSERIMENTO from RICODIF_CF_PIVA
ORDER BY DTINSERIMENTO
OPEN Ricodifica_cursor
FETCH NEXT FROM Ricodifica_cursor
INTO @Vecchio, @Nuovo, @DataIns
WHILE @@FETCH_STATUS = 0
BEGIN
select @isCodfis=dbo.RegExIsMatch ( '\D' , @Nuovo , 1 )
EXEC dbo.srv_change_codfiscale @Nuovo, @Vecchio , @isCodFis , @retcodErr=@CodErr output
if @CodErr = 0
begin
UPDATE [CONSEVO].ConsulenzaBaseFL.dbo.RICODIF_CF_PIVA
SET RicodificatoContratto6 = 1
WHERE
CF_OLD = @Vecchio
AND
CF_NEW = @Nuovo
AND
DTINSERIMENTO = @DataIns
AND
RicodificatoContratto6 is null
end
else
begin
select @CodErr, 'Errore '
set @contErr=@contErr+1;
end
FETCH NEXT FROM Ricodifica_cursor
INTO @Vecchio, @Nuovo, @DataIns
END
CLOSE Ricodifica_cursor
DEALLOCATE Ricodifica_cursor
select @contErr
-- UPDATE [CONSEVO].ConsulenzaBaseFL.dbo.RICODIF_CF_PIVA
-- SET RicodificatoContratto6 = 0
-- WHERE
-- RicodificatoContratto6 is null
END