-- Schema: dbo -- Stored Procedure: srv_change_codfiscaleMassiva -- ============================================= -- Author: Atzeri Emanuele -- Create date: -- 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