From: | Esteban Osorio <eosorio(at)economia(dot)cl> |
---|---|
To: | Alvaro Herrera <alvherre(at)dcc(dot)uchile(dot)cl> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | RE: Consultas varias |
Date: | 2004-12-16 16:43:48 |
Message-ID: | 50FBA0B402D8D6118EEC0080C8F8BA33022D83C8@KEYNES |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Alvaro:
En la instrucción de invocación a la función, ¿que significa la
parte "as foo (a int, b text)"?
Saludos y gracia,
Esteban.
-----Mensaje original-----
De: Alvaro Herrera [mailto:alvherre(at)dcc(dot)uchile(dot)cl]
Enviado el: Jueves, 16 de Diciembre de 2004 11:06
Para: Esteban Osorio
CC: pgsql-es-ayuda(at)postgresql(dot)org
Asunto: Re: [pgsql-es-ayuda] Consultas varias
On Thu, Dec 16, 2004 at 12:03:30PM -0400, Esteban Osorio wrote:
Hola,
> CREATE FUNCTION public.busca_depcia() RETURNS refcursor AS '
> DECLARE
> cursor1 CURSOR FOR SELECT id_depcia, descripcion FROM dependencia order by
> descripcion;
> BEGIN
> OPEN cursor1;
> RETURN (cursor1);
> END;
> ' LANGUAGE 'plpgsql' VOLATILE;
Ugh ... ese truco del refcursor esta obsoleto desde Postgres 7.3. Mejor
algo como
CREATE FUNCTION public.busca_depcia() RETURNS setof record AS '
DECLARE
rec record;
begin
FOR SELECT into rec id_depcia, descripcion FROM dependencia order by
descripcion loop
return next rec;
end loop;
return;
END;
' LANGUAGE 'plpgsql' VOLATILE;
Luego lo invocas como
select public.busca_depcia() as foo (a int, b text);
--
Alvaro Herrera (<alvherre[(at)]dcc(dot)uchile(dot)cl>)
Essentially, you're proposing Kevlar shoes as a solution for the problem
that you want to walk around carrying a loaded gun aimed at your foot.
(Tom Lane)
From | Date | Subject | |
---|---|---|---|
Next Message | Leonardo Amezquita | 2004-12-16 16:54:15 | Problemas Realizando consultas |
Previous Message | Roberto Cesar Najera | 2004-12-16 16:42:12 | instalacion en solaris |