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_multiples
AS
BEGIN
SET NOCOUNT ON;
declare @documento varchar(20)
declare @cuit varchar(20)
declare @id_tabla int
DECLARE C_padron CURSOR FOR
select top 100000 iif(substring(cuerpo_clave,1,1)=0,convert(int,cuerpo_clave),cuerpo_clave) as cuerpo_clave,id_tabla,cuit
from temp_cuit_sin_fecha_nacimiento
where procesado =1 and multiple = 1 and pasada is null and cuerpo_clave is not null and anio_nacimiento is null order by id_tabla asc
OPEN C_Padron
FETCH NEXT FROM C_Padron INTO @documento,@id_tabla,@cuit
WHILE @@fetch_status = 0
BEGIN
begin try
declare @anio_nacimiento varchar(4) = null
declare @apellido varchar(100) = null
declare @apellidos varchar(100) = null
declare @persona_correcta tinyint = 0
DECLARE Multiple CURSOR FOR
--query
select padron_electoral.apellidos from padron_electoral where documento = @documento
OPEN Multiple
FETCH NEXT FROM Multiple INTO @apellidos
WHILE @@fetch_status = 0 and @persona_correcta = 0
BEGIN
set @persona_correcta = (select count(*) from padrones where contains(padrones.nombre_persona,@apellidos) and identificacion = @cuit)
if(@persona_correcta > 0)
begin
set @anio_nacimiento = (select anio_nacimiento from padron_electoral where documento = @documento and apellidos = @apellidos)
if(@anio_nacimiento is not null)
begin
--hizo match.
update temp_cuit_sin_fecha_nacimiento set procesado = 1,anio_nacimiento = @anio_nacimiento,pasada = 1 where id_tabla = @id_tabla
end
end
FETCH NEXT FROM Multiple INTO @apellidos
END
CLOSE Multiple
DEALLOCATE Multiple
if(@persona_correcta = 0)
begin
update temp_cuit_sin_fecha_nacimiento set procesado = 1,pasada = 2 where id_tabla = @id_tabla
end
end try
begin catch
--error.
CLOSE Multiple
DEALLOCATE Multiple
update temp_cuit_sin_fecha_nacimiento set procesado = 1,multiple = 1,pasada = 3,error = ERROR_MESSAGE() where id_tabla = @id_tabla
end catch
FETCH NEXT FROM C_Padron INTO @documento,@id_tabla,@cuit
END
CLOSE C_Padron
DEALLOCATE C_Padron
END
GO
GO
CREATE OR ALTER PROCEDURE dbo.actualizar_nacimiento_multiples
AS
BEGIN
SET NOCOUNT ON;
declare @documento varchar(20)
declare @cuit varchar(20)
declare @id_tabla int
DECLARE C_padron CURSOR FOR
select top 100000 iif(substring(cuerpo_clave,1,1)=0,convert(int,cuerpo_clave),cuerpo_clave) as cuerpo_clave,id_tabla,cuit
from temp_cuit_sin_fecha_nacimiento
where procesado =1 and multiple = 1 and pasada is null and cuerpo_clave is not null and anio_nacimiento is null order by id_tabla asc
OPEN C_Padron
FETCH NEXT FROM C_Padron INTO @documento,@id_tabla,@cuit
WHILE @@fetch_status = 0
BEGIN
begin try
declare @anio_nacimiento varchar(4) = null
declare @apellido varchar(100) = null
declare @apellidos varchar(100) = null
declare @persona_correcta tinyint = 0
DECLARE Multiple CURSOR FOR
--query
select padron_electoral.apellidos from padron_electoral where documento = @documento
OPEN Multiple
FETCH NEXT FROM Multiple INTO @apellidos
WHILE @@fetch_status = 0 and @persona_correcta = 0
BEGIN
set @persona_correcta = (select count(*) from padrones where contains(padrones.nombre_persona,@apellidos) and identificacion = @cuit)
if(@persona_correcta > 0)
begin
set @anio_nacimiento = (select anio_nacimiento from padron_electoral where documento = @documento and apellidos = @apellidos)
if(@anio_nacimiento is not null)
begin
--hizo match.
update temp_cuit_sin_fecha_nacimiento set procesado = 1,anio_nacimiento = @anio_nacimiento,pasada = 1 where id_tabla = @id_tabla
end
end
FETCH NEXT FROM Multiple INTO @apellidos
END
CLOSE Multiple
DEALLOCATE Multiple
if(@persona_correcta = 0)
begin
update temp_cuit_sin_fecha_nacimiento set procesado = 1,pasada = 2 where id_tabla = @id_tabla
end
end try
begin catch
--error.
CLOSE Multiple
DEALLOCATE Multiple
update temp_cuit_sin_fecha_nacimiento set procesado = 1,multiple = 1,pasada = 3,error = ERROR_MESSAGE() where id_tabla = @id_tabla
end catch
FETCH NEXT FROM C_Padron INTO @documento,@id_tabla,@cuit
END
CLOSE C_Padron
DEALLOCATE C_Padron
END
GO
Used By
No items found