Violation de contrainte d'intégrité
Résolu
Farhat1985
-
Farhat1985 Messages postés 22 Statut Membre -
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.
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:
- Violation de contrainte unique
- Unique casino avis forum - Forum Réseaux sociaux
- [SQL\oracleXE] violation de contrainte uniqu - Forum Oracle
- Comment envoyer une video en vue unique sur snap ✓ - Forum Snapchat
- Windows 10 famille langue unique - Guide
- Access violation at address 00000 read of address 00000 ✓ - Forum Logiciels
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
22
Statut
Membre
Merci :)