dbo.backend_buscar_en_padron_nueva

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
/*
[backend_buscar_en_padron_nueva] null, 'el idd juan jose'
[backend_buscar_en_padron_nueva] null, 'el idd'
*/

CREATE OR ALTER PROCEDURE  dbo.backend_buscar_en_padron_nueva
@p_identificacion varchar(40),
@p_nombre_persona varchar(100)
AS
BEGIN


DECLARE @long INT = LEN(@p_nombre_persona) 

IF (@p_nombre_persona IS NOT NULL) AND (@long > 0) BEGIN

 DECLARE @p INT
 DECLARE @y INT = 1

 DECLARE @pstr varchar(200) = ''

 DECLARE @x int  = CHARINDEX(' ', @p_nombre_persona, 1)

 IF (@x > 1) BEGIN

  WHILE (@x > 1) BEGIN
   if (len(SUBSTRING(@p_nombre_persona, @y, @x-@y)) > 2)
   begin
   IF(@pstr != '') BEGIN
    SET @pstr = @pstr + ' NEAR '
   END

   SET @pstr = @pstr + CHAR(34) + SUBSTRING(@p_nombre_persona, @y, @x-@y) + CHAR(34) 
   end
   SET @y = @x+1

   SET @x = CHARINDEX(' ', @p_nombre_persona, @y)
  END
  IF(@pstr != '') BEGIN
   SET @pstr = @pstr + ' NEAR '
  END
  SET @pstr = @pstr + CHAR(34) + SUBSTRING(@p_nombre_persona, @y, LEN(@p_nombre_persona)) + CHAR(34) 
  
 END ELSE BEGIN
  SET @pstr = @p_nombre_persona
 END

 --select @pstr
 SELECT top 20  identificacion,pre_clave, suf_clave,cuerpo_clave,nombre_persona,
 padrones.sexo, padrones.habilitado, 
 CONVERT(varchar, padrones.iscreated, 103) AS iscreated, 
 CONVERT(varchar, padrones.ismodified, 103) AS ismodified,
 padrones.identificador,id_padron,tipo_persona,
 identificadores.abreviatura, identificadores.country_code, country.country_name
 from dbo.padrones  
 inner join identificadores on
 identificadores.identificador = padrones.identificador
 inner join country on
 identificadores.country_code = country.country_code
 WHERE CONTAINS(padrones.*,@pstr) 
 --and country_code in ('AR')

END ELSE BEGIN

 IF (@p_identificacion IS NOT NULL) AND (LEN(@p_identificacion) > 0)
  SELECT top 20  identificacion,pre_clave, suf_clave,cuerpo_clave,nombre_persona,
  padrones.sexo, padrones.habilitado, 
  CONVERT(varchar, padrones.iscreated, 103) AS iscreated, 
  CONVERT(varchar, padrones.ismodified, 103) AS ismodified,
  padrones.identificador,id_padron,tipo_persona,
  identificadores.abreviatura, identificadores.country_code, country.country_name
  from dbo.padrones  
  inner join identificadores on
  identificadores.identificador = padrones.identificador
  inner join country on
  identificadores.country_code = country.country_code
  WHERE CONTAINS(padrones.*,@p_identificacion) 
  --and country_code in ('AR')

 END

END

GO

Used By

No items found