[Pgsql-ayuda] Traer (1 a n) registros desde FUNCTION

jorge medina jorge@dcenter.cl
Sun, 17 Aug 2003 12:26:01 -0400


Hola Amigos:

He intentado una cántidad de formas de traer multiples registros desde una
function Postgres y no he podido.
Abajo hay un procedimiento Interbase el cual recibe un Integer que sirve de
filtro para devolver tuplas agrupadas.

Yo Se que esto debe ser super simple, pero estoy estancado y necesito hacer
el traspaso como para hayer.

Entonces la idea es si alguien pudiera guiarme en la sintaxis postgres
necesaria para realizar lo mismo que abajo les muestro.

Ejemplo:
 id   id_pallet  kilos (Extracto de estructura)
1          1        15.0
1          1        10.3
1          1        05.2
1          2        12.0
2          4        20.3
2          5        20.0
3          6        14.2
4          7        20.3

Select * FROM FUN_TOTALIZAR( 1 )     // Llamada a SP

Me Devuelve
id_pallet  Cajas Kilos
     1            3      30.5
     2            1      12.0

CREATE PROCEDURE FUN_TOTALIZAR ( nSalida Integer)
RETURNS ( id_pallet Integer, Cajas Integer, Kilos Numeric(10,3))
AS
begin
  FOR Select id_Pallet, count(id_caja) Cajas , Sum(Kilos) Kilos
    FROM Stock_Camaras
    WHERE id =  :nSalida           // los ":" identifican variables
ej:( $1 )
    GROUP BY id_Pallet
    INTO :id_pallet, :Cajas,:Kilos
  DO
  BEGIN
     SUSPEND;       // LOOP
  END
end

Gracias Amigos...