From: | "Raul Caso" <feve18(at)gmail(dot)com> |
---|---|
To: | alvherre(at)commandprompt(dot)com, "lista postgresql" <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: obtener el valor de una secuencia sin hacer antes nextval() |
Date: | 2006-02-23 16:45:42 |
Message-ID: | 4dda42060602230845l73ecb5fej@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
El día 23/02/06, Alvaro Herrera escribió:
>
> Raul Caso escribió:
> > Hola amigos tengo una pregunta se que se puede obtener el valor de una
> > secuencia despues de haber insertado un dato con currval() pero que
> tal si
> > solo deseo saber el valor actual de la secuencia sin haber hecho
> antes
> > ningun nextval() se puede ,lo que pasa es que manejo un numero
> > de factura que se debe auntoincrementar y pues el numero contiene
> > letras y numeros asi que concateno las letras con el valor de mi
> secuencia,
> > pero mi problema es saber el valor atual sin antes haber heho un
> nextval()
> > esto para no autoincrementar el valor de la secuencia si al momento de
> estar
> > en la parte de facturacion cancelan el proceso y el numero no deberia
> > haberse aumentado
>
> Te recomiendo no usar una secuencia para eso. Mejor usa una tabla con
> el numero y bloqueala antes de generar un nuevo numero usando LOCK TABLE
> (o tambien podria ser usando SELECT FOR UPDATE).
>
> La razon es que las secuencias son para ser usadas concurrentemente, y
> la propiedad menos deseable de la generacion de numeros de folio (e.g.
> facturas) es que sea concurrente.
>
> --
> Alvaro Herrera
> http://www.CommandPrompt.com/
> The PostgreSQL Company - Command Prompt, Inc.
>
Gracias alvaro si ya habia pensado en esa solucion y creo que es la mas
factible gracias por la sugerencia
From | Date | Subject | |
---|---|---|---|
Next Message | Rowry Jonathan Vásquez Prevate Llaguno | 2006-02-23 17:26:42 | conexion remota |
Previous Message | Alvaro Herrera | 2006-02-23 16:40:20 | Re: obtener el valor de una secuencia sin hacer antes nextval() |