Re: [pgsql-es-ayuda] Obtener "Curval()" de inserción masiva

From: "Raul Andres Duque" <ra_duque(at)yahoo(dot)com(dot)mx>
To: "Gabriel Hermes Colina Zambra" <hermeszambra(at)yahoo(dot)com>, "Alvaro Herrera" <alvherre(at)alvh(dot)no-ip(dot)org>
Cc: "Ayuda" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: [pgsql-es-ayuda] Obtener "Curval()" de inserción masiva
Date: 2008-02-27 22:35:02
Message-ID: 00bf01c87995$24dd4cb0$5800a8c0@amadeus.net.co
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda


----- Original Message -----
From: "Gabriel Hermes Colina Zambra" <hermeszambra(at)yahoo(dot)com>
To: "Alvaro Herrera" <alvherre(at)alvh(dot)no-ip(dot)org>; "Raul Andres Duque"
<ra_duque(at)yahoo(dot)com(dot)mx>
Cc: "Ayuda" <pgsql-es-ayuda(at)postgresql(dot)org>
Sent: Wednesday, February 27, 2008 5:14 PM
Subject: Re: [pgsql-es-ayuda] Obtener "Curval()" de inserción masiva

>
> --- Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> escribió:
>
>> Raul Andres Duque wrote:
>>
>> > Mi duda es: Después de ejecutar esta sentencia
>> (INSERT), cómo puedo saber
>> > TODOS los valores de secuencia generados?
>>
>> No puedes ...
>>
>> > Con curval() sólo podré obtener el último .... o
>> puedo ASEGURAR que
>> > todos los seriales generados son consecutivos
>>
>> Nope.
>>
>>
>>
>> --
>> Alvaro Herrera
>> http://www.PlanetPostgreSQL.org/
>> "Changing the world ... one keyboard at a time!"
>> (www.DVzine.org)
>> --
>> TIP 9: visita nuestro canal de IRC #postgresql-es en
>> irc.freenode.net
>>
> Una solucion seria crear una funcion insertoytomo
> secuencias
>
> Que tomara un currval al inicio hiciera la insercion y
> tomara el currval final
> Retornando los mismos despues de la insercion.
>
> Atte.
> Gabriel Colina
>

Por el tema de concurrencia NO es confiable esta opción. Suponiendo que el
INSERT como tal genera seriales consecutivos, puede pasar que entre el
instante en que lees el curval() e inicias la insericón o entre el momento
en que termina la inserción y lees el curval(), otro usuario pudo haber
insertado registros adicionales, malograndote las lecturas de curval().

Atentamente,

RAUL DUQUE
Bogotá, Colombia

>
>
>
>
> ____________________________________________________________________________________
> ¡Capacidad ilimitada de almacenamiento en tu correo!
> No te preocupes más por el espacio de tu cuenta con Correo Yahoo!:
> http://correo.espanol.yahoo.com/

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Miguel Rodríguez Penabad 2008-02-27 23:19:01 Re: Campos Booleanos
Previous Message Gabriel Hermes Colina Zambra 2008-02-27 22:19:02 Re: Campos Booleanos