Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Crear valores unicos automaticamente

Estas en el tema de Crear valores unicos automaticamente en el foro de SQL Server en Foros del Web. Como puedo incrementar una columna de forma automatica con SQL Server que no es identidad ???...
  #1 (permalink)  
Antiguo 27/08/2007, 11:12
 
Fecha de Ingreso: agosto-2007
Mensajes: 268
Antigüedad: 16 años, 8 meses
Puntos: 2
Crear valores unicos automaticamente

Como puedo incrementar una columna de forma automatica con SQL Server que no es identidad ???
  #2 (permalink)  
Antiguo 27/08/2007, 11:46
Avatar de zeusdelolimpo  
Fecha de Ingreso: agosto-2007
Mensajes: 54
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: Crear valores unicos automaticamente

HOLA; se supone que con el:


IDENTITY [ (seed , increment) ]

seed

Es el valor que se utiliza para la primera fila cargada en la tabla.

increment

Se trata del valor incremental que se agrega al valor de identidad de la anterior fila cargada.

Debe especificar tanto el valor de inicialización como el incremento, o bien ninguno de los dos. Si no se especifica ninguno, el valor predeterminado es (1,1).

Espero te sirva.
Salud2
  #3 (permalink)  
Antiguo 27/08/2007, 12:51
 
Fecha de Ingreso: agosto-2007
Mensajes: 268
Antigüedad: 16 años, 8 meses
Puntos: 2
Re: Crear valores unicos automaticamente

El detalle es que mi campo no es una identidad, si no un campo de tipo int, el cual solo requiero ocupar para guardar el valor incremental de un numero
  #4 (permalink)  
Antiguo 27/08/2007, 13:01
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Re: Crear valores unicos automaticamente

Vas a tener que cuidar mucho los interbloqueos, para lo cual deberas manejar transacciones explicitas (BEGIN TRAN, COMMIT TRAN, ROLLBACK TRAN)

DECLARE @TuIncremental INT
SET @TuIncremental = 0
SELECT @TuIncremental = MAX(TuColID) +1 FROM TuTabla
  #5 (permalink)  
Antiguo 28/08/2007, 08:04
Avatar de Gabo77  
Fecha de Ingreso: noviembre-2006
Mensajes: 381
Antigüedad: 17 años, 5 meses
Puntos: 6
Re: Crear valores unicos automaticamente

Cita:
Iniciado por yera2002 Ver Mensaje
El detalle es que mi campo no es una identidad, si no un campo de tipo int, el cual solo requiero ocupar para guardar el valor incremental de un numero
No suena a que debieras replantear la estructura de tu tabla convirtiendo ese campo en una identidad??


Saludos!
__________________
Hicimos un pacto con Dios... El no desarrolla Sistemas y nosotros no hacemos milagros....
  #6 (permalink)  
Antiguo 28/08/2007, 12:41
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Re: Crear valores unicos automaticamente

Gabo77

Una observacion, el tipo INCREMENTAL (IDENTITY), no sirve para registros en los cuales vas a hacer DELETE, ya que se pierte el consecutivo.

Saludos.
  #7 (permalink)  
Antiguo 29/08/2007, 13:26
Avatar de Gabo77  
Fecha de Ingreso: noviembre-2006
Mensajes: 381
Antigüedad: 17 años, 5 meses
Puntos: 6
Re: Crear valores unicos automaticamente

Para eso puedes usar el CheckIdent si deseas no dejar huecos, pero no creo que eso sea problema....

Saludos!
__________________
Hicimos un pacto con Dios... El no desarrolla Sistemas y nosotros no hacemos milagros....
  #8 (permalink)  
Antiguo 29/08/2007, 16:31
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Re: Crear valores unicos automaticamente

Gabo77

No se que tanta experiencia tengas en el manejo de IDENTITY en INSERCCIONES MASIVAS DE DATOS, te pongo un ejemplo.

Supon, que tienes una base de datos donde registras llamadas telefonicas, de esas, donde se hacen rifas y concursos y todo lo que ya sabemos (01900 849 xxxx) y que llegas a tener hasta 4 o 5 millones de llamadas por cada 30 minutos

¿Crees que si tuvieras que estar eliminando grupos de registros, ¿te serviria el DBCC CHECKIDENT?

Amigo, creo que no has tenido la experiencia.

Saludos
  #9 (permalink)  
Antiguo 30/08/2007, 19:37
Avatar de Gabo77  
Fecha de Ingreso: noviembre-2006
Mensajes: 381
Antigüedad: 17 años, 5 meses
Puntos: 6
Re: Crear valores unicos automaticamente

Jeje, tienes razón, no he tenido la experiencia, la verdad he usado el checkident para temas muy puntuales, y lo que observas es correcto, es una aberración a la performance estar con el CheckIdent... en fin, como mencionaba aparte, no se si el amigo Yera tenga problemas con dejar huecos.....

Saludos y bien por la observación!
__________________
Hicimos un pacto con Dios... El no desarrolla Sistemas y nosotros no hacemos milagros....
  #10 (permalink)  
Antiguo 30/08/2007, 19:39
Avatar de Gabo77  
Fecha de Ingreso: noviembre-2006
Mensajes: 381
Antigüedad: 17 años, 5 meses
Puntos: 6
Re: Crear valores unicos automaticamente

Cita:
Iniciado por iislas Ver Mensaje
Gabo77

Una observacion, el tipo INCREMENTAL (IDENTITY), no sirve para registros en los cuales vas a hacer DELETE, ya que se pierte el consecutivo.

Saludos.
Solo una observación, no se pierde el consecutivo.... simplemente no rellenas huecos, creo que eso fué lo que quisiste puntualizar...

Saludos!
__________________
Hicimos un pacto con Dios... El no desarrolla Sistemas y nosotros no hacemos milagros....
  #11 (permalink)  
Antiguo 31/08/2007, 13:13
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Re: Crear valores unicos automaticamente

Perfecta observacion, NO SE PIERDE EL CONSECUTIVO, simplemente, va dejando huecos.

Saludos
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 06:08.