SQL Server - Correlativo SQLSERVER sin IDENTITY

   
Vista:

Correlativo SQLSERVER sin IDENTITY

Publicado por Ana (2 intervenciones) el 30/08/2010 14:23:07
Hola buen dia, tengo una tabla cuya clave primaria es identity, sin embargo, es posible que los usuarios eliminen registros de la tabla a traves del sistema, por lo que quedarán huecos. Entonces, no me sirve el identity porque luego quisiera que pudieran reutilizar esos huecos cuando vuelvan a insertar. Cual sería la mejor manera de crear este correlativo sin usar Identity. Utilizo visual basic 2005 con Sqlserver Express. Mil Gracias. Ana.
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
Imágen de perfil de Isaias

RE:Correlativo SQLSERVER sin IDENTITY

Publicado por Isaias (3180 intervenciones) el 30/08/2010 19:02:07
Ana

El administrar los correlativos IDENTITY o no, es muy dificil, ya que no sabes en que momento te eliminaran un registro.

En todo caso, manejalos NUMERICOS sin identity y cada que borren un registro, solo le cambias el status (tal vez un cambo boleano), para que cuando se haga un insert, buscan un registro "borrado" y lo actualizas con los nuevos datos.

¿Como calcular el ultimo siguient?, Buscas el ultimo registro y simplemente le sumas 1
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

RE:Correlativo SQLSERVER sin IDENTITY

Publicado por Ana  (2 intervenciones) el 30/08/2010 20:04:01
Oye se me habia ocurrido de todo menos el de cambiarle el status. Conchale muchisimas gracias por tu respuesta. Lo voy a implementar.
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

RE:Correlativo SQLSERVER sin IDENTITY

Publicado por jams (75 intervenciones) el 01/09/2010 18:27:18
prueba esto

declare @tabla table(id int ,campo varchar(20))
declare @cont int

set @cont=0

insert into @tabla(campo) values('uno')
set @cont=0
update @tabla set @cont=id=@cont+1

select * from @tabla
insert into @tabla(campo) values('dos')
set @cont=0
update @tabla set @cont=id=@cont+1

select * from @tabla


no se que tan eficiente pudiera ser que cada vez que insertes un registro actualices tu tabla.

Saludos y suerte
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

RE:Correlativo SQLSERVER sin IDENTITY

Publicado por simon mejias (1 intervención) el 11/02/2011 15:12:20
Tambien lo que opino que se puede hacer es que sigas el ejemplo de crearte una tabla temporal que esta contenga un campo ID autoincrement de step 1 para cuando insertes ya vayas generando un correlativo.

Saludos.
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

RE:Correlativo SQLSERVER sin IDENTITY

Publicado por Jimmy (1 intervención) el 02/01/2013 18:55:00
Como actualizar esos campos, porque al momento de borrar un registro de 1,2,3,4,5,6 ...ect .. borro 3-5 y me queda la tabla 1,2,4,6... porfavor ayudenme...! yo quiero que al momento de eliminar registros se actualice mi tabla automaticamente y de 6 registros si elimino uno que queden de 1 a 5 registros...! si me enviaras el codigo porfavor amigos.. mi correo es gemins_16@hotmail.com estoy trabajando en visual studio 2010 y sql 2008
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