El 2 de agosto de 2010 07:21, Esneiker <eenriq...@cav.desoft.cu> escribió:
> Hola a todos, hace varios días hice una consulta al foro sobre una duda con > las funciones de postgres y no recibí ninguna respuesta, por favor si > alguien sabe como hacer lo que plantea más abajo le agradecería que me > indicara una posible solución porque lo que pregunto es muy fácil de hacer > en otros gestores de base de datos pero hacerlo en postgres me está > resultando muy difícil. > > He aquí la duda enviada anteriormente: > > El caso es que tengo una función en la cual retorno un cursor con el > resultado de una consulta y desde mi aplicación la llamo usando el fetch > all in, pero necesito que dicha función además de devolver el resultado > de una consulta me devuelva también valores en parámetros de salida, > ejemplo, la función me devuelve en el cursor con datos numéricos pero > necesito sacar totales y porcientos a partir de los datos devueltos y > necesitaría que dichos totales y porcientos fueran devueltos en los > parámetros de salida, esto se puede hacer? habría alguna otra forma de > hacerlo? > > Muchas gracias. Entonces especifica cuales son tus parámetros de salida al crear tu función, por ejemplo: CREATE OR REPLACE FUNCTION mi_funcion_in_out(IN id int, OUT campo1 int, OUT campo2 numeric(15,2)) RETURNS SETOF record AS $BODY$ declare total int; porcentaje numeric(15,2); begin total = ... ; porcentaje = ... ; return query SELECT campo10,campo20 FROM tabla where idtabla = id; -- return query SELECT total,porcentaje; return; end; $BODY$ LANGUAGE 'plpgsql' ---- select * from mi_funcion( 5432 ); por ahí ya te pasaron el link de la documentación. http://www.postgresql.org/docs/current/static/sql-createfunction.htm<http://www.postgresql.org/docs/current/static/sql-createfunction.html>