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
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 |