Function que retorna una tabla

From: "Conrado Blasetti" <conrado(at)mapfre(dot)com(dot)ar>
To: <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Function que retorna una tabla
Date: 2009-02-23 10:47:54
Message-ID: 76A99F19229DC440909CF1B905F8012C0790A5CA@sar001998.Mapfre.ar
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Gente, buenos días.

Bueno, esto tema de seguro se habrá tocado, pero no logro dar con lo que necesito.
La function que necesito es la que devuelve valores en registros:

Dentro de ella quiero devolver N filas del tipo ej: codigo NUMERIC, descripción VARCHAR(30)

Pero esta devolución la hago loopeando una tabla y retornando valores a manos. La idea es joinearla en sql.

Ej:

Create or replace function test() returns ????? as
$$
Declare
C1 record;
Begin
For c1 in (select codigo, descripcion from tabla) loop
Return c1.codigo, c1.descripcion;
o
Return next c1.codigo, c1.descripcion;
--LEI POR AHÍ, QUE ESTO DEBO HACERLO CON WHILE Y NO CON FOR, PUEDE SER?
End loop;

--ACA QUIERO POR EJEMPLO, DEVOLVER VALORES A MANO
Return next 999, 'CODIGO MANUAL';

--ACA QUIERO LLAMAR A UNA FUNCION Y QUE ELLA DEVUELVA UN REGISTRO
--DEL MISMO TIPO
Return f_devolver_codigo_descripcion;
End;
$$ language 'plpgsql'

Lo ideal es poder hacer estas 3 cosas, en realidad, en la function tengo que hacer estas cosas.
Bueno, la verdad, no encuentro la forma de poder armar esta function y que pueda devolver registro y que a su vez la pueda joinear en una sentencia sql

Desde ya, muchas gracias.
Saludos,
Conrado

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Calabaza 2009-02-23 11:42:47 Re: Function que retorna una tabla
Previous Message Rodriguez Fernando 2009-02-23 10:18:49 Re: Diferencia 8.2 con 8.3 en parametro funcion sql, meno