Problemas con una función

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

Responses

Browse pgsql-es-ayuda by date

  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