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

evitar campos repetidos

Estas en el tema de evitar campos repetidos en el foro de SQL Server en Foros del Web. Hola, soy nuevo en el foro, ando con un problema, a ver si me pueden dar una mano se los agradecería mucho. Estoy usando SQL ...
  #1 (permalink)  
Antiguo 12/11/2009, 04:35
 
Fecha de Ingreso: noviembre-2009
Mensajes: 15
Antigüedad: 14 años, 5 meses
Puntos: 0
evitar campos repetidos

Hola, soy nuevo en el foro, ando con un problema, a ver si me pueden dar una mano se los agradecería mucho.
Estoy usando SQL 2005

Tengo una tabla con dos campos:
IdTipo int (clave principal)
Nombre nvarchar(50)

La cosa es que el IdTipo, obviamente no va a poder ser repetido porque es clave principal, pero quisiera que el campo Nombre tampoco pueda contener dos campos repetidos. Yo desde un sitio web ingreso un campo, supongamos DNI y quisiera que si intento volver a ingresar otro campo que se llame DNI, el SQL no me lo permita y me tire error. También que sea independiente de mayusculas o minusculas, por ejemplo:
DNI o dni o Dni, que me rebote todo.
  #2 (permalink)  
Antiguo 12/11/2009, 08:58
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 4 meses
Puntos: 38
Respuesta: evitar campos repetidos

Código:
ALTER TABLE MITABLE WITH NOCHECK ADD 
	CONSTRAINT [IX_MITABLE] UNIQUE  
	(
		[Nombre]
	)
Para las mayusculas y minusculas asegurate que el collation del campo sea case insensitive (CI) por ejemplo: SQL_Latin1_General_CP1_CI_AS

Saludos!
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.
  #3 (permalink)  
Antiguo 12/11/2009, 10:06
 
Fecha de Ingreso: noviembre-2009
Mensajes: 15
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: evitar campos repetidos

no entendi lo ultimo, hay que especificar que el campo no sea case sensitive?
Si ya hay un campo DNI y quiero ingresar Dni quiero que me lo rebote. ¿hay que modificar el campo?
  #4 (permalink)  
Antiguo 12/11/2009, 10:41
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 4 meses
Puntos: 38
Respuesta: evitar campos repetidos

verifica la tabla en modo de edicion...

selecciona el campo en question y localiza la propiedad collation...

muestrala aqui para verificar si el tipo de intercalacion utilizado por sql (collation) distingue o no entre mayusculas y minusculas..la que yo presente, por ejemplo no distingue (osea es case insensitive).

Saludos!
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.
  #5 (permalink)  
Antiguo 12/11/2009, 15:04
 
Fecha de Ingreso: noviembre-2009
Mensajes: 15
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: evitar campos repetidos

muchisimas gracias, funciono bárbaro. Lo del campo que no distinga entre mayusculas y minusculas me lo hizo solo. Quizá por default ya se haga asi a la hora de crear la tabla. De nuevo muchas gracias
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 17:24.