Violation de contrainte d'intégrité

Résolu
Farhat1985 -  
Farhat1985 Messages postés 22 Statut Membre -
Bonjour,

J'ai deux table a crée sous oracle
table département :
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')));

et une table employer :
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));

et les données suivantes pour la table 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');

jusqu'au moment tout va bien

mais le problème quand j'essaie d'inséré des données à la table emp :
insert into emp values(7499,'ALLEN','SALESMAN',7698,'20/02/81',160000,30000,30);

quand j'exécuté sur sql+ ce message d'erreur s'affiche sur le terminal :
ORA:02291 : violation de contrainte d'intégrité <base.E_CLET2> clé parent introuvable.

Merci pour votre aide d'avance.

1 réponse

  1. jee pee Messages postés 9458 Date d'inscription   Statut Modérateur Dernière intervention   10 013
     
    Salut,

    Il te faut rentrer les utilisateurs par ordre hiérarchique.

    Pour créer un employé, il faut auparavant créer son manager dans la base (E_CLET2 FOREIGN KEY(MGR) REFERENCES EMP(EMPNO).

    Le 7698 doit exister pour créer le 7499

    cdlt

    Un étranger, c'est un ami qu'on n'a pas encore rencontré.
    4
    1. Farhat1985 Messages postés 22 Statut Membre
       
      Merci :)
      0