Bases de Datos - Problema con restricciones al crear una tabla (SQL, Oracle)

   
Vista:

Problema con restricciones al crear una tabla (SQL, Oracle)

Publicado por msolla (1 intervención) el 23/12/2011 13:35:41
Buenas a todos.
Ante todo, Feliz Navidad y espero q haya habido suerte con la Lotería... a mi me han caído 5€ de mie***.. pero bueno algo es algo  :xD, al tema

Tengo esta sentencia:

CREATE TABLE EMPLEADO(
COD NUMBER(4),
NOMBRE VARCHAR2(20),
APELLIDO1 VARCHAR2(20),
APELLIDO2 VARCHAR2(20),
DIRECCION VARCHAR2(30),
TELEFONO VARCHAR2(14),
DNI VARCHAR2(9),
F_NACIMIENTO DATE,
NACIONALIDAD VARCHAR2(15),
SEXO VARCHAR2(6),
FIRMA NUMBER(4),
SALARIO NUMBER (7,2),
CONSTRAINT PK_EMPLEADO PRIMARY KEY (COD),
CONSTRAINT CH_SALARIO CHECK(SALARIO>0),
CONSTRAINT CH_FNACIMIENTO CHECK(F_NACIMIENTO<SYSDATE),
CONSTRAINT CH_SEXO CHECK (SEXO IN ("HOMBRE","MUJER", "hombre", "mujer"))
);

Y las restricciones de F_NACIMIENTO y de SEXO no le gustan demasiado... Básicamente lo que quiero es obligar a que la fecha de nacimiento sea siempre menor a SYSDATE y que el sexo sea uno de los que están puestos ahí...

Errores que da:
[list]
[li]F_NACIMIENTO: ORA-02436: variable de sistema o de fecha especificada erróneamente en restricción de control (CHECK)[/li]
[li]SEXO: ORA-00904: "mujer": identificador no válido[/li]
[/list]

En el de sexo, sale "mujer" como no válido por ser el último de la lista.
Gracias a todos.

Un saludo y Feliz Navidad!!
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