No repir valores, menos NULL

01/11/2003 - 10:12 por Franci | Informe spam
Hola grupo,

estoy diseñando mi base de datos en SQL Server 2000, necesito que el
campo NIF en la tabla Clientes no se pueda repetir, si se introduce, para
ello creo una restricción UNIQUE. El problema está cuando el usuario no
introduce el NIF, no debe ser obligatorio introducirlo, ya que no me permite
tener más de un valor NULL en este campo.

¿no se puede hacer que no se repitan los valores de un campo a menos que
sean NULL?

Espero haberme explicado, muchas gracias de antemano.

Saludos

________
Franci

Preguntas similare

Leer las respuestas

#1 Accotto Maximiliano D.
01/11/2003 - 14:46 | Informe spam
si lo definiste como unico es unico y null es un valor tambien!! quizas lo q
debas definir mejor es el diseño de tu bdd!! porque generalmente un campo
unico no tiene valores ni nulos ni duplicados!!

Un abrazo

Accotto Maximiliano
Gerente de Sistemas
Fundicion San Cayetano S.A.
Buenos Aires


Argentina

"Franci" escribió en el mensaje
news:
Hola grupo,

estoy diseñando mi base de datos en SQL Server 2000, necesito que el
campo NIF en la tabla Clientes no se pueda repetir, si se introduce, para
ello creo una restricción UNIQUE. El problema está cuando el usuario no
introduce el NIF, no debe ser obligatorio introducirlo, ya que no me


permite
tener más de un valor NULL en este campo.

¿no se puede hacer que no se repitan los valores de un campo a menos


que
sean NULL?

Espero haberme explicado, muchas gracias de antemano.

Saludos

________
Franci


Respuesta Responder a este mensaje
#2 Franci
01/11/2003 - 14:58 | Informe spam
gracias por la respuesta Accotto, entonces quieres decir que no se puede
hacer que no se repitan los valores de un campo a excepción de los valores
NULL, verdad? ¿Y entonces la única solución es poner en la base de datos que
se puedan repetir y hacer la comprobación desde el código de la aplicación
que accede a la base de datos?

Saludos

"Accotto Maximiliano D." escribió en el
mensaje news:%
si lo definiste como unico es unico y null es un valor tambien!! quizas lo


q
debas definir mejor es el diseño de tu bdd!! porque generalmente un campo
unico no tiene valores ni nulos ni duplicados!!

Un abrazo

Accotto Maximiliano
Gerente de Sistemas
Fundicion San Cayetano S.A.
Buenos Aires


Argentina

"Franci" escribió en el mensaje
news:
> Hola grupo,
>
> estoy diseñando mi base de datos en SQL Server 2000, necesito que el
> campo NIF en la tabla Clientes no se pueda repetir, si se introduce,


para
> ello creo una restricción UNIQUE. El problema está cuando el usuario no
> introduce el NIF, no debe ser obligatorio introducirlo, ya que no me
permite
> tener más de un valor NULL en este campo.
>
> ¿no se puede hacer que no se repitan los valores de un campo a menos
que
> sean NULL?
>
> Espero haberme explicado, muchas gracias de antemano.
>
> Saludos
>
> ________
> Franci
>
>


Respuesta Responder a este mensaje
#3 Accotto Maximiliano D.
01/11/2003 - 15:46 | Informe spam
esa regla no es necesario hacerla asi!! puedes hacer un trigger en la bdd si
quieres para las restriccion q estas planteando.

Un abrazo

Accotto Maximiliano
Gerente de Sistemas
Fundicion San Cayetano S.A.
Buenos Aires
Argentina


"Franci" escribió en el mensaje
news:
gracias por la respuesta Accotto, entonces quieres decir que no se puede
hacer que no se repitan los valores de un campo a excepción de los valores
NULL, verdad? ¿Y entonces la única solución es poner en la base de datos


que
se puedan repetir y hacer la comprobación desde el código de la aplicación
que accede a la base de datos?

Saludos

"Accotto Maximiliano D." escribió en


el
mensaje news:%
> si lo definiste como unico es unico y null es un valor tambien!! quizas


lo
q
> debas definir mejor es el diseño de tu bdd!! porque generalmente un


campo
> unico no tiene valores ni nulos ni duplicados!!
>
> Un abrazo
>
> Accotto Maximiliano
> Gerente de Sistemas
> Fundicion San Cayetano S.A.
> Buenos Aires
>
>
> Argentina
>
> "Franci" escribió en el mensaje
> news:
> > Hola grupo,
> >
> > estoy diseñando mi base de datos en SQL Server 2000, necesito que


el
> > campo NIF en la tabla Clientes no se pueda repetir, si se introduce,
para
> > ello creo una restricción UNIQUE. El problema está cuando el usuario


no
> > introduce el NIF, no debe ser obligatorio introducirlo, ya que no me
> permite
> > tener más de un valor NULL en este campo.
> >
> > ¿no se puede hacer que no se repitan los valores de un campo a


menos
> que
> > sean NULL?
> >
> > Espero haberme explicado, muchas gracias de antemano.
> >
> > Saludos
> >
> > ________
> > Franci
> >
> >
>
>


Respuesta Responder a este mensaje
#4 Javier Loria
01/11/2003 - 15:53 | Informe spam
Hola:
La alternativa que mas me gusta es:
a) Crear un Tabla Adicional con la columna(s) en question definida como
Primary Key.
b) Definir en la Tabla Actual la columna(s) como que permiten NULL y con
un FOREIGN KEY hacia la nueva tabla Adicional.
Otra alternativa es hacerlo en triggers (INSERT y UPDATE), revisando que
no exista mas de 1 (OJO 1 debe existir porque los datos ya estan
insertados).
Saludos,


Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.
Franci escribio:
gracias por la respuesta Accotto, entonces quieres decir que no se
puede hacer que no se repitan los valores de un campo a excepción de
los valores NULL, verdad? ¿Y entonces la única solución es poner en
la base de datos que se puedan repetir y hacer la comprobación desde
el código de la aplicación que accede a la base de datos?

Saludos

"Accotto Maximiliano D."
escribió en el mensaje news:%
si lo definiste como unico es unico y null es un valor tambien!!
quizas lo q debas definir mejor es el diseño de tu bdd!! porque
generalmente un campo unico no tiene valores ni nulos ni duplicados!!

Un abrazo

Accotto Maximiliano
Gerente de Sistemas
Fundicion San Cayetano S.A.
Buenos Aires


Argentina

"Franci" escribió en el mensaje
news:
Hola grupo,

estoy diseñando mi base de datos en SQL Server 2000, necesito
que el campo NIF en la tabla Clientes no se pueda repetir, si se
introduce, para ello creo una restricción UNIQUE. El problema está
cuando el usuario no introduce el NIF, no debe ser obligatorio
introducirlo, ya que no me permite tener más de un valor NULL en
este campo.

¿no se puede hacer que no se repitan los valores de un campo a
menos que sean NULL?

Espero haberme explicado, muchas gracias de antemano.

Saludos

________
Franci
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida