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

Modificar campo para que no admita valores nulos

Estas en el tema de Modificar campo para que no admita valores nulos en el foro de Bases de Datos General en Foros del Web. Hola a todos. Tengo una base de datos SQL Server con una tabla de más de 1500 registros. Cuando se creó al principio, algunos campos ...
  #1 (permalink)  
Antiguo 15/02/2005, 09:00
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 22 años
Puntos: 4
Modificar campo para que no admita valores nulos

Hola a todos.

Tengo una base de datos SQL Server con una tabla de más de 1500 registros. Cuando se creó al principio, algunos campos permitian valores nulos, pero para algunas aplicaciones nuevas preferiría que no los permitieran para evitar errores.

Cómo puedo cambiar esta propiedad en una determinada columna sin que al hacerlo se pierdan los datos. Supongo que, al hacerlo, los registros que tengan un valor nulo se convertirán en cadenas de texto vacías ¿no?

Gracias y un saludo.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #2 (permalink)  
Antiguo 15/02/2005, 10:14
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 22 años
Puntos: 4
Vale, ya está. Primero hay que transformar los datos nulos en cadenas vacía para que no de error la transformación:

update tabla set campo = '' where campo is null
go
alter table tabla alter column campo tipo_de_dato(longitud) not null

gracias
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
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 14:37.