Re: returns de las funciones

From: Jairo Martín Miguel <jairo010(at)hotmail(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: returns de las funciones
Date: 2005-05-27 13:55:21
Message-ID: BAY104-F6374EE081F1C54E830D7381000@phx.gbl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

yo tengo una duda al respecto, esto funciona cuando el resultado que quieres
devolver es de una sola tabla, ya que puedes poner RETURNS SETOF mi_tabla.
Pero que pasa cuando lo que quieres devolver son campos de diferentes tablas
que salen de una consulta con INNER JOIN????? o que pasa si el número de
columnas del resultado es variable??

ej: yo en access puedo crear una consulta que me devuelva tantas columnas en
el resultado como valores distintos haya en el campo "persona" de la tabla
"personas".

se podría hacer algo así en postgres???

gracias

>Hola, espero te sirva
>
>CREATE OR REPLACE FUNCTION alguna_funcion()
> RETURNS SETOF tu_tabla AS
>'
>DECLARE
> rec tu_tabla;
>BEGIN
> FOR rec IN select * from tu_tabla LOOP
> RETURN NEXT rec;
> END LOOP;
> RETURN;
>END'
> LANGUAGE 'plpgsql' ;

> hola lista...
> cuado quiero que la funcion me devuelva una consulta de que tipo de dato
>debe ser RETURNS?, un record, no?
> pero en el cuerpo de la funcion que debo devolver en RETURN?
>
> por ejemplo:
>
> CREATE OR REPLACE FUNCTION "public"."prueba" (id_persona VARCHAR)
>RETURNS "pg_catalog"."record" AS
> $body$
> begin
> select * from tbl_persona where id_persona = '01';
> return record; --DUDA
> end
> $body$
> LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT SECURITY INVOKER;
>
> de esta manera me da el siguiente error:
> ERROR: RETURN must specify a record or row variable in function
>returning tuple at or near "record" at character 167
>

_________________________________________________________________
Moda para esta temporada. Ponte al día de todas las tendencias.
http://www.msn.es/Mujer/moda/default.asp

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alicia Mc Millan Barrera 2005-05-27 13:56:46 Instalación Postgres
Previous Message Ing. Jhon Carrillo - Caracas, Venezuela 2005-05-27 13:42:27 Re: returns de las funciones