Re: GENERAR CODIGOS DE VENTA SIN DUPLICADOS EN POSTGRESQL ( ESTARA BIEN ? )

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: cesar salcedo <plicanhpc(at)gmail(dot)com>
Cc: Ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: GENERAR CODIGOS DE VENTA SIN DUPLICADOS EN POSTGRESQL ( ESTARA BIEN ? )
Date: 2011-10-25 01:09:46
Message-ID: 1319504860-sup-3066@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda


Excerpts from cesar salcedo's message of lun oct 24 21:07:28 -0300 2011:

> *LA DUDA* está en que en el modulo de ventas como puedo garantizar que este
> código que estoy generando ('DVEN-00000000N') con la función anterior no se
> repita para otras ventanillas de cobro ,ósea si el cajero 1 está realizando
> una venta y al *MISMO TIEMPO* otros cajeros de la misma tienda están
> registrando otras ventas ,que debería hacer para garantizar que el código
> sea diferente para todos ellos ósea ('DVEN-00000000N' ,
> 'DVEN-00000000(N+1)', para el otro cajero ,'DVEN-000000009(N+2)' para el
> sigte y así )
>
>
>
> Tendría que usar *LOCK TABLE* en algún lugar , tendría que usar *
> TRANSACCIONES* *SERIALIZABLES* (esperar a que un cajero termine de realizar
> una venta para recién generar otro código ),o la misma función (*
> Sfu_InsertNuevaVenta*) por tener una transacción implícita ya es suficiente
> , o que tipo de bloqueos usa postgresl 9.0 será *READ COMMITTED , o
> SERIALIZABLE*

La manera más simple de implementar esto es usando un SELECT FOR UPDATE
del registro que almacena el último valor asignado. El lock que se
adquiere sobre el registro sólo se libera cuando la transacción termina,
de manera que la siguiente transacción verá el valor correcto.

--
Álvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alejandro Carrillo 2011-10-25 02:43:43 Re: GENERAR CODIGOS DE VENTA SIN DUPLICADOS EN POSTGRESQL ( ESTARA BIEN ? )
Previous Message cesar salcedo 2011-10-25 00:07:28 GENERAR CODIGOS DE VENTA SIN DUPLICADOS EN POSTGRESQL ( ESTARA BIEN ? )