Violation de contrainte d'intégrité

Résolu/Fermé
Farhat1985 - 18 oct. 2012 à 12:44
Farhat1985 Messages postés 19 Date d'inscription jeudi 4 octobre 2012 Statut Membre Dernière intervention 19 septembre 2013 - 18 oct. 2012 à 18:38
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

jee pee Messages postés 39582 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 17 avril 2024 9 224
Modifié par jee pee le 18/10/2012 à 18:38
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
Farhat1985 Messages postés 19 Date d'inscription jeudi 4 octobre 2012 Statut Membre Dernière intervention 19 septembre 2013
18 oct. 2012 à 18:38
Merci :)
0