Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Assembly |
Parameters
2| Name | Data Type | Length | Description |
|---|---|---|---|
| @p_identificacion | varchar | 40 | |
| @p_nombre_persona | varchar | 100 |
SQL Script
Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
-- [buscar_en_padron_con_domicilios] '"*31443248*"',null
CREATE OR ALTER PROCEDURE dbo.buscar_en_padron_con_domicilios
@p_identificacion varchar(40),
@p_nombre_persona varchar(100)
AS
BEGIN
DECLARE @identificacion varchar(20),
@pre_clave varchar(10),
@suf_clave varchar(10),
@cuerpo_clave varchar(20),
@nombre_persona varchar(200),
@identificador varchar(20),
@id_padron int,
@p_identificador char(10),
@domicilios varchar(1000),
@domicilios_todos varchar(max)
declare @resultados table (
identificacion varchar(20),
pre_clave varchar(10),
suf_clave varchar(10),
cuerpo_clave varchar(20),
nombre_persona varchar(200),
identificador varchar(20),
id_padron int,
p_identificador char(10),
domicilios varchar(max))
IF (@p_nombre_persona IS NOT NULL) AND (LEN(@p_nombre_persona) > 0)
begin
DECLARE cur_pad CURSOR
FOR
SELECT top 20 identificacion,pre_clave, suf_clave,cuerpo_clave,nombre_persona,padrones.identificador,id_padron,identificadores.identificador
from dbo.padrones
inner join identificadores on
identificadores.identificador = padrones.identificador
WHERE CONTAINS(padrones.*,@p_nombre_persona)
and habilitado = 1
end
ELSE
begin
IF (@p_identificacion IS NOT NULL) AND (LEN(@p_identificacion) > 0)
begin
DECLARE cur_pad CURSOR
FOR
SELECT top 20 identificacion,pre_clave, suf_clave,cuerpo_clave,nombre_persona,padrones.identificador,id_padron,identificadores.identificador
from dbo.padrones
inner join identificadores on
identificadores.identificador = padrones.identificador
WHERE CONTAINS(padrones.*,@p_identificacion)
and habilitado = 1
end
end
-- Arranca el cursor
OPEN cur_pad
Fetch next from cur_pad INTO
@identificacion ,
@pre_clave,
@suf_clave,
@cuerpo_clave,
@nombre_persona,
@identificador,
@id_padron,
@p_identificador
WHILE (@@FETCH_STATUS <> -1 )
BEGIN
set @domicilios_todos =''
DECLARE cur_dom CURSOR FOR
select distinct isnull(d.domicilio,'') + iif(isnull(d.loc_nombre,'')!='', ', '+d.loc_nombre, '')
+ iif(isnull(d.prv_nombre,'')!='', ', '+d.prv_nombre, '')
+ iif(isnull(d.pai_nombre,'')!='', ', '+d.pai_nombre, '')
from domicilios_todos d where d.cuit = @identificacion
and not exists (select * from domicilios_todos e
where e.cuit = d.cuit
and e.domicilio = d.domicilio
and e.id_domicilio < d.id_domicilio)
OPEN cur_dom
Fetch next from cur_dom INTO @domicilios
WHILE (@@FETCH_STATUS <> -1 )
BEGIN
set @domicilios_todos = @domicilios_todos + @domicilios + '<br>'
Fetch next from cur_dom INTO @domicilios
END
CLOSE cur_dom
DEALLOCATE cur_dom
insert into @resultados
select @identificacion as identificacion,
@pre_clave as pre_clave,
@suf_clave as suf_clave,
@cuerpo_clave as cuerpo_clave,
@nombre_persona as nombre_persona,
@identificador as identificador,
@id_padron as id_padron,
@p_identificador as identificador,
@domicilios_todos as domicilios
Fetch next from cur_pad INTO
@identificacion ,
@pre_clave,
@suf_clave,
@cuerpo_clave,
@nombre_persona,
@identificador,
@id_padron,
@p_identificador
END
CLOSE cur_pad
DEALLOCATE cur_pad
select * from @resultados
END
GO
GO
-- [buscar_en_padron_con_domicilios] '"*31443248*"',null
CREATE OR ALTER PROCEDURE dbo.buscar_en_padron_con_domicilios
@p_identificacion varchar(40),
@p_nombre_persona varchar(100)
AS
BEGIN
DECLARE @identificacion varchar(20),
@pre_clave varchar(10),
@suf_clave varchar(10),
@cuerpo_clave varchar(20),
@nombre_persona varchar(200),
@identificador varchar(20),
@id_padron int,
@p_identificador char(10),
@domicilios varchar(1000),
@domicilios_todos varchar(max)
declare @resultados table (
identificacion varchar(20),
pre_clave varchar(10),
suf_clave varchar(10),
cuerpo_clave varchar(20),
nombre_persona varchar(200),
identificador varchar(20),
id_padron int,
p_identificador char(10),
domicilios varchar(max))
IF (@p_nombre_persona IS NOT NULL) AND (LEN(@p_nombre_persona) > 0)
begin
DECLARE cur_pad CURSOR
FOR
SELECT top 20 identificacion,pre_clave, suf_clave,cuerpo_clave,nombre_persona,padrones.identificador,id_padron,identificadores.identificador
from dbo.padrones
inner join identificadores on
identificadores.identificador = padrones.identificador
WHERE CONTAINS(padrones.*,@p_nombre_persona)
and habilitado = 1
end
ELSE
begin
IF (@p_identificacion IS NOT NULL) AND (LEN(@p_identificacion) > 0)
begin
DECLARE cur_pad CURSOR
FOR
SELECT top 20 identificacion,pre_clave, suf_clave,cuerpo_clave,nombre_persona,padrones.identificador,id_padron,identificadores.identificador
from dbo.padrones
inner join identificadores on
identificadores.identificador = padrones.identificador
WHERE CONTAINS(padrones.*,@p_identificacion)
and habilitado = 1
end
end
-- Arranca el cursor
OPEN cur_pad
Fetch next from cur_pad INTO
@identificacion ,
@pre_clave,
@suf_clave,
@cuerpo_clave,
@nombre_persona,
@identificador,
@id_padron,
@p_identificador
WHILE (@@FETCH_STATUS <> -1 )
BEGIN
set @domicilios_todos =''
DECLARE cur_dom CURSOR FOR
select distinct isnull(d.domicilio,'') + iif(isnull(d.loc_nombre,'')!='', ', '+d.loc_nombre, '')
+ iif(isnull(d.prv_nombre,'')!='', ', '+d.prv_nombre, '')
+ iif(isnull(d.pai_nombre,'')!='', ', '+d.pai_nombre, '')
from domicilios_todos d where d.cuit = @identificacion
and not exists (select * from domicilios_todos e
where e.cuit = d.cuit
and e.domicilio = d.domicilio
and e.id_domicilio < d.id_domicilio)
OPEN cur_dom
Fetch next from cur_dom INTO @domicilios
WHILE (@@FETCH_STATUS <> -1 )
BEGIN
set @domicilios_todos = @domicilios_todos + @domicilios + '<br>'
Fetch next from cur_dom INTO @domicilios
END
CLOSE cur_dom
DEALLOCATE cur_dom
insert into @resultados
select @identificacion as identificacion,
@pre_clave as pre_clave,
@suf_clave as suf_clave,
@cuerpo_clave as cuerpo_clave,
@nombre_persona as nombre_persona,
@identificador as identificador,
@id_padron as id_padron,
@p_identificador as identificador,
@domicilios_todos as domicilios
Fetch next from cur_pad INTO
@identificacion ,
@pre_clave,
@suf_clave,
@cuerpo_clave,
@nombre_persona,
@identificador,
@id_padron,
@p_identificador
END
CLOSE cur_pad
DEALLOCATE cur_pad
select * from @resultados
END
GO
Used By
No items found