Codigo identificador, unico.

19/07/2004 - 16:16 por Samper Ricardo | Informe spam
Saludos
Estoy insertando en bd clientes que cada uno tiene un identificador unico,
el ultimo numero del identificador ingresado lo guardo en una tabla de
parametros ya que este es un codigo compuesto ej SP00420. Necesito
asegurarme que cada cliente tome el siguiente codigo y ninguno vaya a tomar
un codigo que ya existe. Como puedo hacer para asegurar que dos estaciones
no leean este registro al mismo tiempo, si no que hagan una especie de cola
para que cada estacion solo pueda tomar un codigo unico a la hora de agregar
el registro.

Alguna idea, alguien hizo al similar. (El autonumerico de SQL server no me
sirve para lo que quiero hacer)

Gracias
 

Leer las respuestas

#1 J. Carlos Herrero
03/08/2004 - 20:28 | Informe spam
Hola:
Ejemplo del uso de un semaforo
Tablas implicadas:
CONTADOR (Contiene el campo NUMERO)
TUTABLA (Contiene los campos NUM_TUTABLA, etc)

El proceso consiste en:
Se inicia una transaccion
Update CONTADOR set NUMERO=NUMERO+1 (1)
Select NUMERO from CONTADOR (2)
TuVariable=CStr(RecordSet!NUMERO)
Insert into TUTABLA values (TuVariable,.) (3)
Se cierra la transaccion

El usuario1 empieza el proceso y cuando ha ejecutado (1)
el usuario(2) empieza el proceso desde otra máquina,
cuando va a ejecutar (1), si el proceso del usuario1 no ha
cerrado la transaccion, el proceso del usuario2 se queda
esperando hasta que se cierre la transaccion del proceso del usuario1.
La tabla que hace de semáforo es CONTADOR

Espero que se entienda
Un saludo:
Carlos

Samper Ricardo wrote:
Saludos
Estoy insertando en bd clientes que cada uno tiene un identificador
unico, el ultimo numero del identificador ingresado lo guardo en una
tabla de parametros ya que este es un codigo compuesto ej SP00420.
Necesito asegurarme que cada cliente tome el siguiente codigo y
ninguno vaya a tomar un codigo que ya existe. Como puedo hacer para
asegurar que dos estaciones no leean este registro al mismo tiempo,
si no que hagan una especie de cola para que cada estacion solo pueda
tomar un codigo unico a la hora de agregar el registro.

Alguna idea, alguien hizo al similar. (El autonumerico de SQL server
no me sirve para lo que quiero hacer)

Gracias

Preguntas similares