Violation de contrainte d'intégrité
Résolu
Farhat1985
-
Farhat1985 Messages postés 19 Date d'inscription Statut Membre Dernière intervention -
Farhat1985 Messages postés 19 Date d'inscription Statut Membre Dernière intervention -
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.
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.
A voir également:
- Ora-00001: violation de contrainte unique
- Insertion avec contrainte unique et condition (mysql) ✓ - Forum MySQL
- Ora-00911 ✓ - Forum Bases de données
- Ora-12560: tns : erreur d'adaptateur de protocole - Forum Logiciels
- Revoir photo vue unique instagram - Forum Instagram
- Violation des consignes communautaires tiktok - Forum Mail
1 réponse
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é.
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é.
Farhat1985
Messages postés
19
Date d'inscription
Statut
Membre
Dernière intervention
Merci :)