Codigo único

20/03/2009 - 11:35 por Paul | Informe spam
Hola,
Estaoy usando Sql Server 2008

Necesito generar un código único, pero que no sea el típico autoinc.
El problema es para la tipica central de reservas, donde a cada
reserva se asigna un código de numeros y letras.
El problema es que no ses como generarlo y cauntos dŽgitos debe tener
el códig para asegurar que sea único y que en un lazo de por ejemplo
50 años no se repita, teniendo en cuenta que como màximo habra 10
reservas al día.

Alguna idea?

Gracias
 

Leer las respuestas

#1 Alberto Poblacion
20/03/2009 - 13:16 | Informe spam
"Paul" wrote in message
news:
Estaoy usando Sql Server 2008
Necesito generar un código único, pero que no sea el típico autoinc.
El problema es para la tipica central de reservas, donde a cada
reserva se asigna un código de numeros y letras.
El problema es que no ses como generarlo y cauntos dŽgitos debe tener
el códig para asegurar que sea único y que en un lazo de por ejemplo
50 años no se repita, teniendo en cuenta que como màximo habra 10
reservas al día.



SQL Server dispone del tipo de datos uniqueidentifier, al que le puedes
asignar valores mediante la función NEWID o NEWSEQUENTIALID. Es un valor de
128 bits que se garantiza que sea "globalmente único".
También podrías usar un TIMESTAMP, que si no me equivoco mide 64 bits y
se garantiza que es único dentro de una base de datos concreta.

Otra alternativa para generar códigos únicos es generarlos por tu
cuenta. Creas una pequeña tabla para contener el último valor asignado, y
cada vez que necesitas crear un nuevo registro, inicias transacción, lees la
tabla de codigos, lo incrementas, lo salvas, se lo asignas al registro que
necesitaba ese código, y completas la transacción.

Preguntas similares