Re: Obtener "Curval()" de inserción masiva

From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Raul Andres Duque <ra_duque(at)yahoo(dot)com(dot)mx>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Obtener "Curval()" de inserción masiva
Date: 2008-02-27 15:21:29
Message-ID: 20080227152129.GG5694@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Raul Andres Duque escribió:

> Más o menos el tema es que hago una inserción masiva de por ejemplo
> 1000 registros, donde lo que cambia es un serial(físico) que es
> consecutivo (desde la aplicación especifico el ranfo de seriales).
> Actualmente lo hago iterando a través de cada serial desde la
> aplicación pero es LENTO ... la alternativa que se me ocurre es
> hacerlo con un insert masivo (una sola sentencia SQL) y no registro
> por registro. El inconveniente que tengo es que luego de hacer la
> inserción debo hacer algunas operaciones adicionales con cada registro
> insertado ... de ahí ... ¿cómo puedo obtener todos los seriales
> generados (secuencia) en la insercción?

insert into foo
select nextval(seq), ...
from generate_series(1, 1000), ...

--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2008-02-27 15:22:12 Re: Campos Booleanos
Previous Message Alvaro Herrera 2008-02-27 15:19:29 Re: Join sobre una misma tabla...