Foros del Web » Programación para mayores de 30 ;) » .NET »

Secuencia numeros sql vb.net

Estas en el tema de Secuencia numeros sql vb.net en el foro de .NET en Foros del Web. Tengo un problema, veran en una tabla tengo asignados un numero a cada registro este seria usuario_num y seria consecutivamente 1111,1112,1113 etc, el punto es ...
  #1 (permalink)  
Antiguo 02/08/2011, 13:32
Avatar de rikakashi  
Fecha de Ingreso: julio-2011
Mensajes: 226
Antigüedad: 12 años, 9 meses
Puntos: 33
Secuencia numeros sql vb.net

Tengo un problema, veran en una tabla tengo asignados un numero a cada registro este seria usuario_num y seria consecutivamente 1111,1112,1113 etc, el punto es que al eliminar alguno estos ya no serian consecutivos entonces lo que yo quiero es por ejemplo si el que elimine fue el 1112 algun query o mediante algun codigo se devuelva el numero que me hace falta para volver a tener la lista secuencial espero haberme explicado y si me pueden ayudar se los agradeceria mucho!!!
__________________
la programación es tan grande como la imaginación (+.+)
  #2 (permalink)  
Antiguo 02/08/2011, 14:31
Avatar de galletica12  
Fecha de Ingreso: mayo-2011
Ubicación: Tekax, Yucatán
Mensajes: 213
Antigüedad: 12 años, 11 meses
Puntos: 8
Respuesta: Secuencia numeros sql vb.net

Investiga un poco sobre los metodos de ordenacion te servira mucho.
  #3 (permalink)  
Antiguo 02/08/2011, 14:40
Avatar de giovani_loera  
Fecha de Ingreso: mayo-2011
Ubicación: Tijuana
Mensajes: 225
Antigüedad: 12 años, 11 meses
Puntos: 21
Respuesta: Secuencia numeros sql vb.net

Creo q es mas facil tener un campo extra ( que se llame Status de tipo Bit), entonces cuando quieres borrar un registros, no lo borres en si, si no que al status le cambies a 0(inactivo).

Asi cuando quieres saber cuales estan usuario_num as eliminado (en teoria), solo sera necesario acer un query que te digo los usuario_num Inactivos (0).

Código SQL:
Ver original
  1. SELECT usuario_num FROM Usuarios WHERE [STATUS]=0

Tambien puedes tener otra tabla, donde unicamente tengos los usuario_num que as borrado, es decir; cuando borres un registro de usuario, insertes el usuario_num en la otra tabla. Y cuando regreses el usuario_num (tabla extra), pues lo borras de la tabla Extra.


Exite otra forma de hacerlo pero tardara mas en darte el resulta (el resultado sera en milisegundo o segundos, diras q esto es rapido, pero al poner esto es una empresa o en un proceso los milisegundos cuentas mucho); lo q tienes q acer es un store procedure q recorre la tabla y cuando encuentre un usuario_num q no es consecutivo al anterior lo guarde temporalmente (tabla temporal, se pueden crear tablas en ejecucion de un proceso y al final de este, se elimina la tabla solicta). Pero como dije este ultimo no te lo recomiendo en cuestion de respuesta al cliente.


Espero q te sirva mi comentario
  #4 (permalink)  
Antiguo 02/08/2011, 15:47
Avatar de atak  
Fecha de Ingreso: julio-2005
Ubicación: Huancayo
Mensajes: 490
Antigüedad: 18 años, 8 meses
Puntos: 5
De acuerdo Respuesta: Secuencia numeros sql vb.net

Hola,

giovani_loera tiene razon crea en tu tabla (SQL Server ) un campo STATUS por defecto con un valor 1 y si es eliminado cambiarlo a 0.
cuando listas tus usuarios activos tendrias que filtrar los que tengan campo status 1, y si deseas todos listados sin la condicion en la columna status.

De esa manera puedes llevar tu registro.

Saludos,
__________________
. .: El mejor Inicio :. .
  #5 (permalink)  
Antiguo 03/08/2011, 08:38
Avatar de rikakashi  
Fecha de Ingreso: julio-2011
Mensajes: 226
Antigüedad: 12 años, 9 meses
Puntos: 33
Respuesta: Secuencia numeros sql vb.net

es verdad en base a lo que sera mi proyecto final tendre que tener un estatus y esta es una buena idea gracias :D
__________________
la programación es tan grande como la imaginación (+.+)

Etiquetas: numeros, secuencia, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:00.