Indice único con NULL, pero repitiendo NULL

18/02/2008 - 13:23 por Paul | Informe spam
Hola,
Tengo una tabla con los campos Id, Nombe, NombreAux, IdNum. Donde
NombreAux permite NULOS.

Me gustaría crear un especie de índice único del siguiente tipo:
Indice --> NombreAux+IdNum

Pero que sólo se cumpliera se NombreAux es diferente de nulo

Ejemplo:
Id Nombre NombreAux IdNum
1 AAA AAA-AUX 100
2 BBB BBB-AUX 100
3 CCC NULL 100
4 DDD NULL 100

Al insertar el registro de Id=4 No me diera error.

Como lo hago?
Saludos
 

Leer las respuestas

#1 Rolando
18/02/2008 - 13:35 | Informe spam
Una forma es:

Ponle una clave primaria a la tabla (toda tabla debe tenerla aunque sea un
identity) y luego crea un campo calculado con esta expresion:

case when NombreAux is NULL then PK else NombreAux+IdNum end

Finalmente crea una restriccion Unique sobre el campo calculado.




"Paul" escribió en el mensaje
news:
Hola,
Tengo una tabla con los campos Id, Nombe, NombreAux, IdNum. Donde
NombreAux permite NULOS.

Me gustaría crear un especie de índice único del siguiente tipo:
Indice --> NombreAux+IdNum

Pero que sólo se cumpliera se NombreAux es diferente de nulo

Ejemplo:
Id Nombre NombreAux IdNum
1 AAA AAA-AUX 100
2 BBB BBB-AUX 100
3 CCC NULL 100
4 DDD NULL 100

Al insertar el registro de Id=4 No me diera error.

Como lo hago?
Saludos

Preguntas similares