From: | Roberto Andrade Fonseca <randradefonseca(at)gmail(dot)com> |
---|---|
To: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Problemas con una función |
Date: | 2005-01-04 20:39:46 |
Message-ID: | 484bf03105010412396cdc492c@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Hola Alvaro:
El jue, 16-12-2004 a las 09:05, Alvaro Herrera escribió:
> 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);
Probé con:
CREATE OR REPLACE FUNCTION busca_depcia() RETURNS setof record AS '
DECLARE
rec record;
BEGIN
FOR SELECT into rec id_articulo, descripcion FROM articulos order by
descripcion loop
return next rec;
end loop;
return;
END;
' LANGUAGE 'plpgsql' VOLATILE;
Pero me regresa, después de crear la función:
pos_db=# select busca_depcia();
ERROR: syntax error at or near "SELECT"
CONTEXT: compile of PL/pgSQL function "busca_depcia" near line 4
¿Tienes un ejemplo completo o alguna referencia (ya sea en los manuales
o no) acerca de este tipo de manejo de 'cursores'?
Uso:
pos_db=# SELECT version();
version
---------------------------------------------------------------------------------------------------------
PostgreSQL 7.4.2 on i686-pc-linux-gnu, compiled by GCC gcc (GCC) 3.3.2
20031022 (Red Hat Linux 3.3.2-1)
(1 row)
Gracias de antemano.
--
Roberto Andrade Fonseca
Inteligentes.com, S.A. de C.V.
Tel. 5207-1672/1673
From | Date | Subject | |
---|---|---|---|
Next Message | Jaime Casanova | 2005-01-04 20:53:26 | Re: Problemas con una función |
Previous Message | Jaime Casanova | 2005-01-04 20:28:20 | Re: encoding client |