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