Ver Mensaje Individual
  #2  
Antiguo 20-04-2004
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Reputación: 24
guillotmarc Va por buen camino
Hola.

La consulta para ver y guardar el nuevo ID en la tabla correspondiente, tendría que ir en una transacción independiente. De forma que el nuevo valor estuviese confirmado nada más crearlo, y disponible para ser consultado por las otras conexiones. (Además seria aconsejable aumentar el nivel de aislamiento de esa transacción a Lecturas repetibles). De esta forma evitarás la duplicación de códigos.

Aunque usualmente, se suelen utilizar generadores para crear los códigos ID. Un generador es un objeto en la base de datos que va proporcionando códigos consecutivos. Si te instalas IB-Expert, http://www.hksoftware.net/download/i...4.1.1_full.exe además de ser un Administrador de Datos muy bueno, te permite crear el generador y un procedimiento almacenado para consultarlo, en el momento de crear el campo ID (mira las opciones de Autoincremento).

De forma que creas el generador y un procedimiento almacenado, al crear el campo ID. Y en el programa, en lugar de consultar tu tabla de IDs, ejecutas el procedimiento almacenado para averiguar el nuevo código.

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita