Re: RETURNS SETOF, como retornar campos de distintas tablas

From: Emanuel Calvo Franco <postgres(dot)arg(at)gmail(dot)com>
To: Ismael Diaz <ismael(dot)utc(at)gmail(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: RETURNS SETOF, como retornar campos de distintas tablas
Date: 2009-06-10 17:06:06
Message-ID: f205bb120906101006y114a1a0bl36290d07a4f8e46c@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

El 10 de junio de 2009 13:33, Ismael Diaz<ismael(dot)utc(at)gmail(dot)com> escribió:
> El 10 de junio de 2009 12:25, Emanuel Calvo
> Franco<postgres(dot)arg(at)gmail(dot)com> escribió:
> [...]
>> No te sirve hacer un RETURN QUERY?
>>
>> En este caso inclusive podés hacer una función en 'sql' a la
>> que si queres podés pasarle parámetros...
>>
>> Prefiero la segunda, es más sencilla...
>>
> [...]
>
> Me puedes dar algun ejemplo concreto de lo que planteas ?, idealmente
> en base a la funcion de ejemplo propuesta.
>
>
> Saludos
> --
> Ismael Diaz.
> --
> TIP 7: no olvides aumentar la configuración del "free space map"
>

CREATE TYPE ehy AS(m text,f text);
-- o
CREATE VIEW porqueria AS SELECT
m.nombre as campo1, f.nombre as campo2
FROM
mitablita m
LEFT JOIN
mitablita f ON m.nombre = f.nombre;

CREATE OR REPLACE FUNCTION get_row2() RETURNS SETOF porqueria AS
$BODY$
BEGIN
RETURN QUERY SELECT
m.nombre, f.nombre
FROM
mitablita m
LEFT JOIN
mitablita f ON m.nombre = f.nombre;
END
$BODY$
LANGUAGE 'plpgsql';

CREATE OR REPLACE FUNCTION get_row() RETURNS ehy AS
$BODY$
SELECT
m.nombre, f.nombre
FROM
mitablita m
LEFT JOIN
mitablita f ON m.nombre = f.nombre
$BODY$
LANGUAGE SQL;

Tené en cuenta que este ejemplo es burdo (estoy
joineando una misma tabla y retornando el mismo campo).

Fijate que o podés crear una vista o un type (es mejor un
type pero para los fines sirve, el tema es que esté definido
lo que retorna)

--
Emanuel Calvo Franco
ArPUG [www.arpug.com.ar] / AOSUG Member
www.emanuelcalvofranco.com.ar

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Jaime Casanova 2009-06-10 17:09:57 Re: DECLARE Y SET
Previous Message Miguel Beltran R. 2009-06-10 16:39:39 Re: DECLARE Y SET