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