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
Views: Raw Message | Whole Thread | Download mbox | Resend email
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

Browse pgsql-es-ayuda by date

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