El 10 de junio de 2009 13:33, Ismael Diaz<ismael....@gmail.com> escribió:
> El 10 de junio de 2009 12:25, Emanuel Calvo
> Franco<postgres....@gmail.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
--
TIP 4: No hagas 'kill -9' a postmaster

Responder a