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

Insertar nueva columna con Claves aleatorias - ms sql - 2000 server

Estas en el tema de Insertar nueva columna con Claves aleatorias - ms sql - 2000 server en el foro de Bases de Datos General en Foros del Web. Saludos Amigos, trabajo con Ms - sql server 2000 y tengo una tabla usuarios la cual no tiene una columna clave esta asi, actualmente idusuario ...
  #1 (permalink)  
Antiguo 16/11/2004, 14:48
 
Fecha de Ingreso: noviembre-2004
Mensajes: 50
Antigüedad: 19 años, 5 meses
Puntos: 0
Exclamación Insertar nueva columna con Claves aleatorias - ms sql - 2000 server

Saludos Amigos, trabajo con Ms - sql server 2000

y tengo una tabla usuarios la cual no tiene una columna clave

esta asi, actualmente

idusuario usuario
01 aldo
02 jose


mi idea es insertarle la columna clave y luego crear una funcion para agregarle a esa columna las claves correspondientes pero de manera aleatoria, es decir un random de 6 digitos
númericos y que se inserten en la columna, ya que tengo 200 registros y no creo que vaya a agregar 1 por 1

Espero su ayuda

Gracias

M.A.

Última edición por moisesfran; 16/11/2004 a las 14:49 Razón: error en el titulo
  #2 (permalink)  
Antiguo 16/11/2004, 16:02
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 6 meses
Puntos: 11
Para insertar una columna usas el enterprise manager o una instruccion sql como:

alter table nombre_tabla add nombre_campo_nuevo tipo_dato

ejemplo:

alter table usuarios add clave varchar(6)


Para lo otro podrias usar algo asi:

create procedure generar_claves
as
declare @maxid int
declare @cont int
declare @texto varchar(8)
set @cont = (select min(idusuario) from usuarios)
set @maxid = (select max(idusuario) from usuarios)
while @cont <= @maxid
begin
set @texto=RAND(@cont)*1000000
update usuarios set clave=@texto where idusuario=@cont
SET NOCOUNT ON
SET @cont = @cont + 1
SET NOCOUNT OFF
end
go

Y ejecutarlo asi: Exec generar_claves

Última edición por claudiovega; 16/11/2004 a las 16:04
  #3 (permalink)  
Antiguo 18/11/2004, 10:54
 
Fecha de Ingreso: noviembre-2004
Mensajes: 50
Antigüedad: 19 años, 5 meses
Puntos: 0
Gracias Claudio, por tu respuesta, tan pronta todo quedo ok!!

nos vemos

Saludos

M.Alvarez
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 12:59.