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>

Reply via email to