| From: | Alvaro Herrera <alvherre(at)dcc(dot)uchile(dot)cl> | 
|---|---|
| To: | Esteban Osorio <eosorio(at)economia(dot)cl> | 
| Cc: | pgsql-es-ayuda(at)postgresql(dot)org | 
| Subject: | Re: Consultas varias | 
| Date: | 2004-12-16 15:05:42 | 
| Message-ID: | 20041216150542.GD11577@dcc.uchile.cl | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-es-ayuda | 
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 | Esteban Osorio | 2004-12-16 15:10:38 | RE: Consultas varias | 
| Previous Message | Alvaro Herrera | 2004-12-16 15:03:10 | Re: Consultas varias |