Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/06/2005, 07:43
ofl666
 
Fecha de Ingreso: agosto-2003
Ubicación: Madrid
Mensajes: 82
Antigüedad: 20 años, 8 meses
Puntos: 0
Pregunta CONSTRAINT UNIQUE y NULL

Imaginemos que tengo la tabla que genera la siguiente sentencia:
CREATE TABLE Conductores
(
CodigoConductor NUMBER(4) CONSTRAINT PKConductores PRIMARY KEY,
Nombre CHAR(100) CONSTRAINT NNConductoresNombre NOT NULL,
Apellido1 CHAR(100),
Apellido2 CHAR(100),
UNIQUE (Nombre, Apellido1, Apellido2)
);

Mi intención con la constraint UNIQUE es que no pueda haber 2 registros con el mismo nombre, apellido1 y apellido2. Esto funciona correctamente cuando los registros tienen los 3 campos pero si no tienen apellido1 o apellido2 (solo el nombre es NOT NULL y deseo que siga siendo así) no tiene el funcionamiento que yo esperaba (quizas esperaba demasiado), es decir, ejemlos de registros que entran y que no entran:

INSERT (1,'Pepe','Pepe1','Pepe2') -> Entra
INSERT (2,'Pepe','Pepe1','Pepe2') -> NO entra (correcto, es lo que quiero)

INSERT (3,'Pepe') -> Entra
INSERT (4,'Pepe') -> ¡¡¡¡¡ ENTRA !!!! no lo entiendo

INSERT (5,'Pepe','Pepe1') -> Entra
INSERT (6,'Pepe','Pepe1') -> ¡¡¡¡¡ ENTRA !!!! no lo entiendo

¿Alguien sabe como definir la restricción que yo busco (aparte de con trigers)?