Violación de restricción de integridad

Resuelto
Farhat1985 -  
Farhat1985 Mensajes publicados 22 Estado Miembro -
Hola,

Tengo dos tablas que crear en Oracle
tabla departamento :
CREATE TABLE dept(
DEPTNO NUMBER(2),
DNAME CHAR(20),
LOC CHAR(20),
constraint p1 primary key(deptno),
constraint c check( dname in ('ACCOUNTING','RESEARCH','SALLES','OPERATIONS')));

y una tabla empleado :
create table emp (
empno number (5),
ename varchar (40),
job varchar(40),
mgr number(5),
hiredate date,
sal number(6),
comm number(6),
deptno number(2),
CONSTRAINT E_CLEP PRIMARY KEY(EMPNO),
CONSTRAINT E_CLET1 FOREIGN KEY(DEPTNO) REFERENCES
DEPT(DEPTNO),
CONSTRAINT E_CLET2 FOREIGN KEY(MGR) REFERENCES EMP(EMPNO));

y los siguientes datos para la tabla dept :
insert into dept values (10,'ACCOUNTING','NEW-YORK');
insert into dept values (20,'RESEARCH','Dallas');
insert into dept values (30,'SALLES','Chicago');
insert into dept values (40,'OPERATIONS','Boston');
insert into dept values (50,'SALLES','Tunis');

hasta aquí todo va bien

pero el problema cuando intento insertar datos en la tabla emp :
insert into emp values(7499,'ALLEN','SALESMAN',7698,'20/02/81',160000,30000,30);

cuando ejecuto en sql+ este mensaje de error aparece en el terminal :
ORA:02291 : violación de restricción de integridad <base.E_CLET2> clave padre no encontrada.

Gracias de antemano por su ayuda.

1 respuesta

jee pee Mensajes publicados 31851 Fecha de registro   Estado Moderador Última intervención   9 963
 
Hola,

Necesitas añadir a los usuarios en orden jerárquico.

Para crear un empleado, primero hay que crear a su manager en la base (E_CLET2 FOREIGN KEY(MGR) REFERENCES EMP(EMPNO).

El 7698 debe existir para crear el 7499

Saludos

Un extranjero es un amigo que aún no hemos conocido.
4
Farhat1985 Mensajes publicados 22 Estado Miembro
 
¡Gracias! :)
0