Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/11/2009, 15:27
rProgged
 
Fecha de Ingreso: agosto-2004
Mensajes: 131
Antigüedad: 20 años, 3 meses
Puntos: 2
LIMIT en función plpgsql

Estimad@s,

He estado trabajando bastante con postgre y funciones pgsql, el tema se me puso feo porque ahora necesito paginar los resultados y no tengo idea cómo hacer para en la función generar la consulta de acuerdo a los parametros enviados.

Lo que quiero hacer es que si me pasan un valor para inicio y final entonces agrego esa parte a la consulta, sino ignoro eso. Hasta ahora mi función está más o menos así pero no sé cómo transformarla , si me pueden echar una mano estaré muy agradecido.

Código:
-- los parametros son un id, inicio (offset) y final (limit)
CREATE OR REPLACE FUNCTION funcionprueba(integer, integer, integer) RETURNS SETOF RECORD AS $$
DECLARE 
   id_area ALIAS FOR $1;
   inicio ALIAS FOR $2;
   fin ALIAS FOR $3;
   datos RECORD;
BEGIN
   FOR datos IN
      SELECT nombre, visitas
      FROM tabla
      WHERE id=id_area
   LOOP
      RETURN NEXT datos;
   END LOOP;
   RETURN;
END;
$$ LANGUAGE plpgsql VOLATILE;
Eso, muchas gracias de antemano.

Saludos

PD: ¿¿¿alguien me dice por favor cómo poner el código tipo SQL???