Skip site navigation (1) Skip section navigation (2)

Re: no puedo conseguir que me devuelva mastuplas....

From: Edwin Perez Lozano <edwinandperez(at)gmail(dot)com>
To: mario vargas careaga <mario(dot)vargas(dot)careaga(at)gmail(dot)com>
Cc: Alvaro Herrera <alvherre(at)commandprompt(dot)com>, Jaime Casanova <systemguards(at)gmail(dot)com>, pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: no puedo conseguir que me devuelva mastuplas....
Date: 2007-05-29 22:56:42
Message-ID: 1180479403.3403.4.camel@localhost (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
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

Responses

pgsql-es-ayuda by date

Next:From: Miguel Rodríguez PenabadDate: 2007-05-29 23:11:01
Subject: Re: no puedo conseguir que me devuelva mas tuplas....
Previous:From: Guillermo Varona SilupúDate: 2007-05-29 22:38:10
Subject: Re: sobre instalación de PL/Java

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group