Autor Tema: Problema con restriccion check SQL Server 2005  (Leído 6178 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado dantrax

  • Sv Jr.
  • **
  • Mensajes: 85
Problema con restriccion check SQL Server 2005
« : junio 27, 2009, 12:04:00 pm »
Hola compas, soy newbie en el sql server 2005 Express  :p
Tengo la siguiente tabla:
Código: [Seleccionar]
CREATE TABLE dbo.Persona
(
IDPersona int NOT NULL IDENTITY (1, 1),
IDSexo int NOT NULL,
IDEstadoCivil int NOT NULL,
Nombres nvarchar(50) NOT NULL,
Apellidos nvarchar(50) NOT NULL,
FechaNac smalldatetime NOT NULL,
Nit nvarchar(17) NOT NULL,
Dui nvarchar(15) NOT NULL
)

y quiero validar el ingreso de datos para los campos Nit y Dui
Cuando pretendo agregar estas restricciones:
Código: [Seleccionar]
alter table Persona
 add constraint CK_Persona_Dui
 check ([Dui] like '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]-[0-9]');

alter table Persona
 add constraint CK_Persona_Nit
 check ([Nit] like '[0-9][0-9][0-9][0-9]-[0-9][0-9][0-9][0-9][0-9][0-9]-[0-9][0-9][0-9]-[0-9]');

Me sale el siguiente error:
Código: [Seleccionar]
Mens. 547, Nivel 16, Estado 0, Línea 1
Instrucción ALTER TABLE en conflicto con la restricción CHECK "CK_Persona_Dui". El conflicto ha aparecido en la base de datos "prueba2", tabla "dbo.Persona", column 'Dui'.

Que estoy haciendo mal??

Desconectado Darkness

  • The Communiter-
  • *
  • Mensajes: 2147
  • The Darkness
    • Diseño y Programaciòn Web Profesional
Re: Problema con restriccion check SQL Server 2005
« Respuesta #1 : junio 27, 2009, 01:00:55 pm »
Podrias decirme con que objetivos quieres agregarle ese constrain a la tabla?

que pretendes?



Yo e usado constrain en Mysql pero ahi es para validad la integridad referencial estre tablas osea que no se pueda borrar un registro que tiene relacion directa con otro contenido en otra tabla...


« Última Modificación: junio 27, 2009, 01:02:49 pm por Darkness »
La Muerte Simplemente es el Despertar de Un Sueño Lleno de Falsedades e hipocrecias.
"Larga Vida Al Heavy Metal"

Iron Maiden Discografia DD

Desconectado tekun

  • -^- Elite Silver -^-
  • The Communiter-
  • *
  • Mensajes: 3221
  • Han convertido mi casa en cueva de mercaderes!!!!
    • www.tekun.es
Re: Problema con restriccion check SQL Server 2005
« Respuesta #2 : junio 30, 2009, 12:50:12 pm »
realmente nunca he trabajado con los check en ms sqlserver, pero en postgres si

porque tenes la definición de la tabla en el campo "Dui nvarchar(15) NOT NULL" si el campo solo recibira 10 digitos ??¿

imagino que por ahí anda tu problema porque en el chek solo agregas los 8 casillas + el guión


aparte de eso, no deberías de guardar el guión, para mí es innecesario, deberías solamente guardar los digitos sin formato y casterlos al momento de extraerlos cuando sea necesario y de paso te ahorras unos bytes de espacio en disco
lo difícil lo hago rápido, con lo imposible, casi siempre me tardo un poquito