Amigos como estan, estoy intentando hacer una paginacion en un programita que estoy haciendo, dentro del programa manejo una variable que me almacena la posicion del registro que deseo obtener de la base de datos.
Con esta posicion lo que hago es llamar a un procedimiento almacenado el cual ejecuta la consulta y me retorna el registro que deseo, pero no se como poner el offset dentro de mi consulta ya que este lo tengo en una variable, el procedimiento que uso es el siguiente. CREATE OR REPLACE FUNCTION asiento_cabecera_recupera_por_offset(pagecod character varying, pboton character varying, poffset integer) RETURNS refcursor AS $BODY$ DECLARE casiento refcursor; total_registros int; posicion int; BEGIN posicion:=poffset; if pboton='INICIO' then select into total_registros coalesce(count(asidoc),0) from asicab where asiagecod=pagecod; posicion:=total_registros; end if; open casiento for select asidoc,docnom,asinum,asiben,asifec,asides,asiref,asimod from asicab inner join documentos on asiagecod=docagecod and asidoc=doccod where asiagecod=pagecod order by asifec desc limit 1 offset posicion; return casiento; END $BODY$ LANGUAGE 'plpgsql' VOLATILE Como ven aqui en donde coloco el offset deberia poner directo un valor numerico pero si a este lo tengo en una variable como deberia ponerlo para que funcione correctamente. Tal y como esta el procedimiento funciona pero no me retorna los valores deseados. Saludos Fernando _________________________________________________________________ Connect to the next generation of MSN Messenger http://imagine-msn.com/messenger/launch80/default.aspx?locale=en-us&source=wlmailtagline