SQL - Llaves primarias

 
Vista:

Llaves primarias

Publicado por m4u (1 intervención) el 03/07/2007 00:40:58
Mi duda es la siguiente:

Es SQL Server 2000, cuando selecciono uno de los atributos como llave primaria, le pongo el identity en yes, así los va creando solo. Por ejemplo, tengo:

id_empleado nombre

1 Carlos
2 Ana
3 Maria
4 Luis

Si elimino los empleados con los id's 3 y 4 (Maria y Luis), y después inserto otro nuevo, el id se pone en 5, porque sigue la secuencia de los que ya tenía, pero lo que quiero saber es como hacer para que despues de eliminar esos 2 empleados me pongo el id en 3 cuando inserte un nuevo empleado, esto porque trabajo con Java, y para mostrarlos en un JComboBox, con el metodo getSelectedIndex obtengo el indice del item pero en el combo, y si pasa esto, con ese metodo se me cae el programa.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Llaves primarias

Publicado por Isaias (5072 intervenciones) el 03/07/2007 18:39:09
Por una sencilla razon, IDENTITY, no esta recomedado para registros que seran BORRADOS, ya que como lo mencionas, se pierde la continuidad del numerico.

Existen herramientas para poder volver a colocar un IDENTITY en un numero deseado (en caso de borrado accidental), como DBCC CHECKIDENT.

Pero insisto, identity, no esta recomendado para registros que seran borrados, ya que en este caso, el numerico o consecutivo deberia generarse de forma manual

SELECT MAX(ID)+1 FROM TUTABLA
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar