[Pgsql-ayuda] Secuencias

Alvaro Herrera alvherre@dcc.uchile.cl
Tue, 15 Jul 2003 11:25:52 -0400


On Tue, Jul 15, 2003 at 03:30:25PM +0200, K wrote:

> Como puedo asignar numeracion correlativa a una serie de tickets?
> el problema es que varias accesos se hacen concurrentes, desde
> diferentes sitios, y necesitamos insertar cada registro en la tabla
> tickets de forma correlativa. Pero si una insercion falla que podamos
> recuperar el anterior valor para asignarselo al proceso siguiente que
> pida un nextvalue.
> ¿como hacerlo de la mejor manera?

No se puede... como vas a hacer cuando algo falle y tengas que hacer
ROLLBACK?

Si la idea es por ej. usar el numero para documentos oficiales (ej.
facturas de venta) entonces tendrias que usar un sistema no concurrente,
como por ej. bloquear una tabla y asegurarte que todo va bien hasta que
ya tienes el valor en la BD (commit)

-- 
Alvaro Herrera (<alvherre[a]dcc.uchile.cl>)
"No reniegues de lo que alguna vez creíste"