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
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 |