CREATE OR REPLACE FUNCTION padrones.buscarexacta_persona(nom text)
  RETURNS SETOF respuesta_buscar_persona AS
$BODY$
DECLARE
RESPUESTA respuesta_buscar_persona%ROWTYPE;
nombusca text;

BEGIN
nombusca= regexp_replace( replace(REGEXP_REPLACE(trim(upper(nom)),'( ){2,}', ' 
'),' ','&'), E'[\\s\'|:&()!]+','&','g');
  FOR RESPUESTA IN (
   SELECT  padrones.personas.clave AS clave
   FROM padrones.personas,
   to_tsquery('spanish',trim(nombusca)) AS q
   WHERE vectornombre @@ q and
   (trim(nombusca):: tsquery @@ regexp_replace( nombre, E'[\\s\'|:&()!]+',' 
','g')::tsvector)
   ORDER BY ts_rank_cd(vectornombre,q) DESC)
  LOOP
  RETURN NEXT RESPUESTA;
  END LOOP;

RETURN;
END;
$BODY$
  LANGUAGE 'plpgsql' VOLATILE
  COST 100
  ROWS 1000;


      Yahoo! Cocina
Recetas prácticas y comida saludable
http://ar.mujer.yahoo.com/cocina/
--
TIP 3: Si encontraste la respuesta a tu problema, publícala, otros te lo 
agradecerán

Responder a