dbo.actualizar_nacimiento

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
CREATE OR ALTER PROCEDURE dbo.actualizar_nacimiento 

AS
BEGIN
    SET NOCOUNT ON;
 declare @documento varchar(20)
 declare @id_tabla int

 DECLARE C_padron CURSOR FOR
  select top 100000 cuerpo_clave,id_tabla from temp_cuit_sin_fecha_nacimiento where procesado is null and cuerpo_clave is not null order by id_tabla asc

 OPEN C_Padron
 FETCH NEXT FROM C_Padron INTO @documento,@id_tabla
 WHILE @@fetch_status = 0
 BEGIN
 
  if((select count(cuerpo_clave) from padrones where habilitado = 1 and cuerpo_clave = @documento and identificador in ('CUIT','CUIL','DNI')) > 1)
   begin
   update temp_cuit_sin_fecha_nacimiento set procesado = 1,multiple = 1 where id_tabla = @id_tabla
   FETCH NEXT FROM C_Padron INTO @documento,@id_tabla
   end
  begin try
  declare @anio_nacimiento varchar(4) = null
  if(len(@documento) = 8)
   begin
    
    set @anio_nacimiento = (select anio_nacimiento from padron_electoral where documento = @documento)
   end
  else
   begin
    set @anio_nacimiento = (select anio_nacimiento from padron_electoral where right('00000000'+documento,8) = @documento)
   end
  if(@anio_nacimiento is not null)
   begin
    update temp_cuit_sin_fecha_nacimiento set procesado = 1,anio_nacimiento = @anio_nacimiento where id_tabla = @id_tabla
   end
  else
   begin
   update temp_cuit_sin_fecha_nacimiento set procesado = 1 where id_tabla = @id_tabla
   end
  end try
  begin catch
   update temp_cuit_sin_fecha_nacimiento set procesado = 1,multiple = 1 where id_tabla = @id_tabla
  end catch
  FETCH NEXT FROM C_Padron INTO @documento,@id_tabla
 END  
 CLOSE C_Padron
 DEALLOCATE C_Padron
END

GO

Used By

No items found