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

Re: Cursor en Procedimiento plpgsql

From: Luis Guevara <luis(dot)a(dot)guevara(at)gmail(dot)com>
To: Jaime Casanova <systemguards(at)gmail(dot)com>
Cc: PostgreSQL-foro <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Cursor en Procedimiento plpgsql
Date: 2006-01-19 16:28:06
Message-ID: fa2b6e3a0601190828n4442f607q@mail.gmail.com (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
Ok. Pero el cursor que deso devolver va a ser llenado en base a comandos
INSERT y no con otras consultas.

Mi problema es como crear el cursor y como insertar registros en el.

Gracias Jaime



El día 19/01/06, Jaime Casanova <systemguards(at)gmail(dot)com> escribió:
>
> On 1/19/06, Luis Guevara <luis(dot)a(dot)guevara(at)gmail(dot)com> wrote:
> > Ok. necesito una funcion que retorne un conjunto de registros (que es un
> > cursor),
> > Pero ese conjunto de registros deseo agregarlos con comandos INSERT en
> base
> > a consultas de otras tablas.
> >
> > Es decir algo así:
> >
> > CREATE FUNCTION myfuncion()
> > .....
> >     CREATE TABLE mycursor (codigo integer)    -----> pero que sea una
> tabla
> > temporal o un cursor
> >      INSERT INTO mycursor VALUES(1)
> >      INSERT INTO mycursor VALUES(2)
> >      RETURN mycursor
> > ...
> > LANGUAGE 'plpgsql'
> >
>
> quiza algo como?
>
> CREATE FUNCTION myfuncion() RETURNS SETOF record as $$
>    SELECT 1 UNION SELECT 2 [UNION < TODAS LAS CONSULTAS QUE
>     QUIERAS HACER > ];
> END;
> $$ LANGUAGE sql;
>
> o si la consulta que vas a hacer es de una sola tabla, entonces seria:
>
> CREATE FUNCTION myfuncion() RETURNS SETOF tabla as $$
>    SELECT * FROM tabla;
> END;
> $$ LANGUAGE sql;
>
> --
> Atentamente,
> Jaime Casanova
> (DBA: DataBase Aniquilator ;)
>



--
atte.
Luis Guevara

In response to

Responses

pgsql-es-ayuda by date

Next:From: Rubén da SilvaDate: 2006-01-19 16:29:10
Subject: ¿Si o no?
Previous:From: jose ricardoDate: 2006-01-19 16:24:09
Subject: Re: dos preguntas

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