Re: Cursor en Procedimiento plpgsql

From: Jaime Casanova <systemguards(at)gmail(dot)com>
To: Luis Guevara <luis(dot)a(dot)guevara(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:21:34
Message-ID: c2d9e70e0601190821i663d44d9kb05ee361b901a951@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

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

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message jose ricardo 2006-01-19 16:24:09 Re: dos preguntas
Previous Message Aldo Alexander Leyva Alvarado 2006-01-19 16:18:53 Re: FUNCION QUE RETORNA UNA TABLA