Re: no puedo conseguir que me devuelva mas tuplas....

From: "mario vargas careaga" <mario(dot)vargas(dot)careaga(at)gmail(dot)com>
To: "Edwin Perez Lozano" <edwinandperez(at)gmail(dot)com>
Cc: pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: no puedo conseguir que me devuelva mas tuplas....
Date: 2007-05-30 15:47:19
Message-ID: 5cdf74c90705300847m32244b22wf54296b505975c8@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

revisa bien tu la cadena de correos y mostrame donde Alvaro me indico
que devia ejecutarlo asi
SELECT * FROM nue();
El 30/05/07, Edwin Perez Lozano <edwinandperez(at)gmail(dot)com> escribió:
> El mié, 30-05-2007 a las 00:12 +0200, mario vargas careaga escribió:
> > lo corregi asi....
> > CREATE OR REPLACE FUNCTION nue()
> > RETURNS setof record AS
> > $BODY$declare
> > resultado record;
> > begin
> > for resultado in select * from ppagos
> > loop
> > return next resultado;
> > end loop;
> > return;
> > end;
> >
> > $BODY$
> > LANGUAGE 'plpgsql' VOLATILE;
> >
> >
> > la sintaxis del loop esta bien pero cuando ejecuto
> > select nue()
> >
> > ERROR: set-valued function called in context that cannot accept a set
> > Estado SQL:0A000
> > Contexto:PL/pgSQL function "nue" line 5 at return next
> >
> > me sigue dando error ..
>
> HOLA... ya Alvaro te dijo como tenias que ejecutar la funcion.. porque
> no pones un poco mas de atencion y analizas sus respuestas..
>
> llama la funcion de la siguiente manera:
> SELECT * FROM nue();
>
> ademas eso esta en la documentacion:
> http://www.postgresql.org/docs/8.2/interactive/plpgsql-control-structures.html#PLPGSQL-STATEMENTS-RETURNING
>
> literal 37.7.1.2. RETURN NEXT
>
> >
> >
> > El 29/05/07, Alvaro Herrera <alvherre(at)commandprompt(dot)com> escribió:
> > > mario vargas careaga escribió:
> > > > estoy haciendo esto....
> > > >
> > > > CREATE OR REPLACE FUNCTION nue()
> > > > RETURNS setof record AS
> > > > $BODY$declare
> > > > resultado record;
> > > > begin
> > > >
> > > >
> > > > select * into resultado from ppagos;
> > > > return next resultado;
> > > > end;
> > > > $BODY$
> > > > LANGUAGE 'plpgsql' VOLATILE;
> > >
> > > Esta mal. Debe ser asi
> > >
> > > declare
> > > resultado record;
> > >
> > > begin
> > > for resultado in select * from ppagos loop
> > > return next resultado
> > > end loop;
> > > return;
> > > end;
> > >
> > >
> > > O similar. No lo probe, asi que si no funciona verifica la sintaxis
> > > correcta en el manual. Pero la clave es que el RETURN NEXT debe ir
> > > dentro de un FOR/LOOP.
> > >
> > > --
> > > Alvaro Herrera http://www.PlanetPostgreSQL.org/
> > > "La espina, desde que nace, ya pincha" (Proverbio africano)
> > >
> >
> > ---------------------------(fin del mensaje)---------------------------
> > TIP 6: ¿Has buscado en los archivos de nuestra lista de correo?
> >
> > http://archives.postgresql.org/pgsql-es-ayuda
>
>

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2007-05-30 15:48:10 Re: RECUPERANDO MIS BASES DE DATOS
Previous Message Alvaro Herrera 2007-05-30 15:38:32 Re: Ayuda acerca de los objetos binarios.