dbo.Proceso_Padron_electoral_paso2

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
/*
exec [Proceso_Padron_electoral_paso2] 
*/

CREATE OR ALTER PROCEDURE dbo.Proceso_Padron_electoral_paso2 
-- Los que sacando acentos, el nombre_persona de padron comienza con el apellido
AS
BEGIN
 SET NOCOUNT ON;

 declare @id_padron int = null,
   @sexo varchar(1) = null,
   @apellidos varchar(500) = null,
   @nombres varchar(500) = null,
   @nombre_encontrado varchar(200) = null 
   
 DECLARE X_cursor CURSOR FOR
   select padron_procesado.id_padron, padron_procesado.sexo, padron_procesado.apellidos, padron_procesado.nombres, padrones.nombre_persona
     from padron_procesado 
  inner join padrones on (padrones.id_padron = padron_procesado.id_padron and isnull(padron_procesado.id_padron,0) != 0)
    where procesado = 0 and detalle = '- nombre_persona no comienza con ese apellido'
   and dbo.elimina_acentos(padrones.nombre_persona) like dbo.elimina_acentos(padron_procesado.apellidos) + '%'
   and (isnull(padrones.modificado_por,'') != 'R' or padrones.fecha_modificado_por = '2024-10-01 00:00:00')

 OPEN X_cursor
 FETCH NEXT FROM X_cursor INTO @id_padron, @sexo, @apellidos, @nombres, @nombre_encontrado
 WHILE @@fetch_status = 0
 BEGIN 

  select @id_padron
  set @apellidos         = dbo.elimina_acentos(@apellidos)
  set @nombres           = dbo.elimina_acentos(@nombres)
  set @nombre_encontrado = dbo.elimina_acentos(@nombre_encontrado)

  update padrones 
   set apellidos      = @apellidos, 
    nombres        = @nombres,
    nombre_persona = @nombre_encontrado, -- que ya tiene corregidos los caracteres raros de Ñ y acentos
    sexo           = iif(@sexo is not null, @sexo, sexo),
    modificado_por = 'R', 
    fecha_modificado_por = '2024-10-01 00:00:00'
    where id_padron = @id_padron

  update padron_procesado set procesado = 1 where id_padron = @id_padron 

  FETCH NEXT FROM X_cursor INTO @id_padron, @sexo, @apellidos, @nombres, @nombre_encontrado
 END
 CLOSE X_cursor
 DEALLOCATE X_cursor
END 

/*
select * from padron_procesado 
left join padrones on (padrones.id_padron = padron_procesado.id_padron and isnull(padron_procesado.id_padron,0) != 0)
where detalle = '- nombre_persona no comienza con ese apellido'
and dbo.elimina_acentos(padrones.nombre_persona) like dbo.elimina_acentos(padron_procesado.apellidos) + '%'

select * from padron_procesado 
left join padrones on (padrones.id_padron = padron_procesado.id_padron and isnull(padron_procesado.id_padron,0) != 0)
where procesado = 1 
order by created desc

select * from padron_procesado 
left join padrones on (padrones.id_padron = padron_procesado.id_padron and isnull(padron_procesado.id_padron,0) != 0)
where procesado != 0 and detalle != '' and padron_procesado.id_padron = 197812694
*/


GO

Used By

No items found