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