On 10/23/08, Edwin Quijada <[EMAIL PROTECTED]> wrote:
>
> Me ha tocado trabajar en estos dias con MSSQL y he visto algo interesante y 
> es que los Store procedure pueden retornar un set de datos , un select, pero 
> con la desventaja de que este no puede ser usado en un select.
> A raíz de esto me gustaría hacer una pregunta a los que están cerca del 
> código Postgres, Alvaro y Jaime, cual es la razon mas técnica de porque 
> Postgres no puede hacer esto,retornar una selección, sin tener que declarar 
> un tipo.
> Esto me asalta porque me lo han preguntado varias veces y la verdad la 
> respuesta que he dado no se si me convence mucho o estoy equivocado.
>

si puedes...

CREATE FUNCTION fsetdatos() RETURNS SETOF record AS
begin
   return query select * from tabla;
   return;
end;
LANGUAGE plpgsql;


claro que en el select deberas hacer algo como: "select * from
fsetdatos(campo1 tipo1[, ...])"

o puedes declarar los tipos como parametros OUT

CREATE FUNCTION fsetdatos(out campo1 tipo1[, ...]) RETURNS SETOF record AS
begin
   return query select * from tabla;
   return;
end;
LANGUAGE plpgsql;

y en el select solo haces: "select * from fsetdatos()"

-- 
Atentamente,
Jaime Casanova
Soporte y capacitación de PostgreSQL
Asesoría y desarrollo de sistemas
Guayaquil - Ecuador
Cel. +59387171157
--
TIP 3: Si encontraste la respuesta a tu problema, publícala, otros te lo 
agradecerán

Responder a