SQL Server - Problema al hacer un Insert con Sql Server

 
Vista:
sin imagen de perfil
Val: 170
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Problema al hacer un Insert con Sql Server

Publicado por Miguel (84 intervenciones) el 12/04/2020 20:39:21
Tengo una tabla con su clave Primaria y cinco campos (Id, Empresa, Servicio, Contacto, Tfnofijo, TfnoMovil y Correo" (Empresa y Servicio -No NULL-) y (Tfnifijo, Tfnomovil y Correo son -Null-), estos tres últimos tienen que ser únicos pero no necesariamente los tres tienen que ser requeridos en un registro.
Por esta razón ambos los declaro como campos de "Indice Unico", pues después de varios días tratando de saber porque no me permitía cargar los registro cuando no introduces nada en los campos -NULL- y haciendo infinidad de pruebas llego a la triste conclusión de que el Sql Server no admite que un campo -NULL- pueda ser "Indice único" y menos "omitir claves duplicadas".

Pero se me hace incomprensible pues es sabido que cuando esos campos declarados como -NULL- tengan valor de alguna forma hay que poder evitar que no se repitan y no creo que tenga que ser exclusivamente a través de una función que lo verifique.

Un saludo y muchas gracias
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
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Problema al hacer un Insert con Sql Server

Publicado por Isaias (4558 intervenciones) el 12/04/2020 22:34:57
Excelente conclusion, los indices UNICOS no pueden ser NULL, Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 170
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Problema al hacer un Insert con Sql Server

Publicado por Miguel (84 intervenciones) el 13/04/2020 13:11:31
Hola Isaias esperaba su intervención ya que siempre me ha orientado. De todas formas al igual que el Sql Server tiene opciones Enabled por la razón que sea, también podían controlar todas las opciones en función del valor previsto en dicho campo. Y dicho esto no me dirá que los campos de Tfnos y Correos cuando sea necesario cargarlos pudieran ser controlados de esta forma tan simple.

Gracias por su respuesta y un saludo
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
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Problema al hacer un Insert con Sql Server

Publicado por Isaias (4558 intervenciones) el 14/04/2020 01:49:59
Veamos, si creo un campo con index UNIQUE, es claro que no podre colocar datos en NULL, eso ya que quedo claro, un campo de TELEFONO o CORREO, puede ser opcional, ya que la persona en cuestion podria contar o no, con cualquiera de estos dos datos.
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

Problema al hacer un Insert con Sql Server

Publicado por Norberto Martinez (1 intervención) el 20/04/2020 00:56:13
"Tengo una tabla con su clave Primaria y cinco campos (Id, Empresa, Servicio, Contacto, Tfnofijo, TfnoMovil y Correo" (Empresa y Servicio -No NULL-) y (Tfnifijo, Tfnomovil y Correo son -Null-), estos tres últimos tienen que ser únicos pero no necesariamente los tres tienen que ser requeridos en un registro."

Pregunto como estas declarando esos campos, ejemplo el ID es un campo autonumerico me supongo que sea asi, porque si no es autonumerico da problemas con la clave y debe iniciar con nro 1, Empresa y Servicio son campos NO NULL pero forman parte del indice?, como esta integrada las relaciones de esta tabla con otras tablas con que campo se integran?, para que empresa y servicio sean campos NO NULL, el campo Empresa debe repetirse en el indice y servicios debe validarlo para que no se repita dentro de la misma empresa, revise este comentario. Saludos
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