Re: Setof function problemas...

From: "Jose J(dot) Ayala Pineda" <jayala(at)cromotex(dot)com(dot)pe>
To: "Hector R(dot) De los Santos \(Consultor TI\)" <zahory(at)gmail(dot)com>, <pgsql-es-ayuda(at)postgresql(dot)org>, <lzevallos(at)lobosistemas(dot)com>
Subject: Re: Setof function problemas...
Date: 2009-05-16 14:16:51
Message-ID: 5B5044CAFF374EA9961A5652DEDC5166@depsis01
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

hola, al devolver un record se debe indicar tmb los campos exactos q
recibiran el record.. la otra forma es q tu definas un tipo record con los
campos que necesitas y lo uses. La otra forma es que uses un cursor y lo
retornes.

Slds

----- Original Message -----
From: "Hector R. De los Santos (Consultor TI)" <zahory(at)gmail(dot)com>
To: <pgsql-es-ayuda(at)postgresql(dot)org>; <lzevallos(at)lobosistemas(dot)com>
Sent: Friday, May 15, 2009 2:32 PM
Subject: [pgsql-es-ayuda] Setof function problemas...

Creo que esto se ha respondido varias veces en la lista, el problema
esta en el modo de invocar la funcion, debe ser:

Select * from sch_desarrollo.reg_paises()

El día 15 de mayo de 2009 15:04, Luis A. Zevallos Cárdenas
<lzevallos(at)lobosistemas(dot)com> escribió:
> Hola a todos
>
> Una consulta que no entiendo porque me da este error cuando hago una
> function utilizando setof
>
> CREATE OR REPLACE FUNCTION sch_desarrollo.reg_paises() RETURNS SETOF
> sch_desarrollo.tbl_paises_tmp AS
> $BODY$
> DECLARE
> reg RECORD;
> BEGIN
> for reg in SELECT * FROM sch_desarrollo.tbl_paises_tmp loop
> return next reg;
> end loop;
> return;
> END;
> $BODY$
> LANGUAGE 'plpgsql';
>
> Esto crea la function normal sin errores
>
> Pero cuando la ejecuto
>
> select sch_desarrollo.reg_paises()
>
> Da este error;
>
> ************************ERROR****************************
> ERROR: se llamó una función que retorna un conjunto en un contexto que
> no
> puede aceptarlo
> CONTEXT: PL/pgSQL function "reg_paises" line 5 at RETURN NEXT
>
> ********** Error **********
>
> ERROR: se llamó una función que retorna un conjunto en un contexto que
> no
> puede aceptarlo
> Estado SQL:0A000
> Contexto:PL/pgSQL function "reg_paises" line 5 at RETURN NEXT
>
> *********************************************************
>
> Gracias si es que me pueden ayudar
>
> --
> Luis Zevallos
> DBA Administrador de DB & SRVR
> Lobo Sistemas S.A.C
> tel: +5154958310833
> http://www.lobosistemas.com
>

--
:: HDS Consultores TI
Servidores | Redes | Programacion | GNU/Linux

--
:: HDS Consultores TI
Servidores | Redes | Programacion | GNU/Linux
--
TIP 5: ¿Has leído nuestro extenso FAQ?
http://www.postgresql.org/docs/faqs.FAQ.html

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Cesar Erices 2009-05-16 15:25:21 Re: Consulta No se puede instalar postgres
Previous Message Jaime Casanova 2009-05-16 03:56:58 Re: Consulta No se puede instalar postgres