SQL Server - restriccion check

 
Vista:

restriccion check

Publicado por tAbogo (1 intervención) el 01/05/2007 05:16:27
pues el problema que tengo es que al momento de hacer una consulta... tengo una tabla llamada usuario y en esa tabla tengo 5 columnas que son:

ID int
Nombre nchar(30)
Perfil nchar(15)
Usuario nchar(20)
Password nchar(20)

entonces creo una nueva consulta en que la quiero alterar la columna perfil e insertarle una restriccion en la que solo sep pueda agregar "administrador" o "alto" o "medio" o "bajo" entonces pues para probar haber si la consulta esta bien pongo la siguiente linea:

ALTER TABLE dbo.Usuario ADD CONSTRAINT CK_Usuario_Perfil Check (Perfil LIKE 'Administrador')

y me sale el siguiente error:

The ALTER TABLE statament conflicted with the CHECK constraint "CK_Usuario_Perfil". The conflict occured in database "Proyecto", table "dbo.Usuario", column "Perfil"

y pues ya he buscado y no he encontrado como solucionar este problema, le agradeceria mucho aquel que me pueda ayudar...
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

RE:restriccion check

Publicado por eljhonb (124 intervenciones) el 01/05/2007 06:43:26
la tabla que estás agregando la restricción tiene datos?

lo otro es que ese sql no hace lo que realmente quieres... ese agrega la restricción para que los datos que inserten se "parezcan" a la palabra Administrador... es decir que si tu campo perfil tiene valores diferentes a "Administrador" no te dejará crear la restricción porque no va a cumplir la regla que estás tratando de definir.

prueba esto:

ALTER TABLE dbo.Usuario ADD CONSTRAINT CK_Usuario_Perfil Check (Perfil in ('Administrador', 'alto', 'medio', 'bajo') )

pero vuelvo y reitero que todos los valores que tenga tu campo perfil, antes de crear la restricción, debe ser uno de los valores que estás agregando en la restricción.

espero te haya servido

Salu2 desde Medellín, Colombia
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