Bonjour,
En référence à ce sujet :
http://www.developpez.net/forums/d73...e-foreign-key/
On trouve les informations suivantes :
Dans ce cas, quand on manipule la table STAGIAIRE, on appelle "FK_ENTREPRISE" ou "codeSIRET" ?
Merci.
Bonjour,
En référence à ce sujet :
http://www.developpez.net/forums/d73...e-foreign-key/
On trouve les informations suivantes :
Dans ce cas, quand on manipule la table STAGIAIRE, on appelle "FK_ENTREPRISE" ou "codeSIRET" ?
Merci.
Si j'ai bien compris ta question, dans les requêtes tu utilises uniquement des noms de colonne donc codeSIRET.
En cas de violation de contrainte le nom de la FK violée sera renvoyé, et ce sera FK_ENTREPRISE.
Et tu peux retrouver à quoi correspond la contrainte en intérogeant les vues ALL_CONSTRAINTS et ALL_CONS_COLUMNS
Exemple avec le schema Scott :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 select e.ename,d.dname from scott.emp e join scott.dept d on d.deptno = e.deptno; ENAME DNAME ---------- -------------- CLARK ACCOUNTING KING ACCOUNTING MILLER ACCOUNTING JONES RESEARCH FORD RESEARCH ADAMS RESEARCH SMITH RESEARCH SCOTT RESEARCH WARD SALES TURNER SALES ALLEN SALES JAMES SALES BLAKE SALES MARTIN SALES 14 rows selected.Et on retrove les informations sur la contrainte en interogeant les vues précédentes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 > select * from scott.dept; DEPTNO DNAME LOC ---------- -------------- ------------- 10 ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALES CHICAGO 40 OPERATIONS BOSTON > update scott.emp set deptno = 50; update scott.emp set deptno = 50 * ERROR at line 1: ORA-02291: integrity constraint (SCOTT.FK_DEPTNO) violated - parent key not found
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 > select OWNER,CONSTRAINT_NAME,CONSTRAINT_TYPE,TABLE_NAME from all_constraints where CONSTRAINT_NAME = 'FK_DEPTNO'; OWNER CONSTRAINT_NAME C TABLE_NAME ------------------------------ - ------------------------------ SCOTT FK_DEPTNO R EMP > select OWNER,CONSTRAINT_NAME,TABLE_NAME,COLUMN_NAME from ALL_CONS_COLUMNS where CONSTRAINT_NAME = 'FK_DEPTNO'; OWNER CONSTRAINT_NAME TABLE_NAME COLUMN_NAME --------------- ------------------ --------------- ----------------- SCOTT FK_DEPTNO EMP DEPTNO
Merci pour avoir répondu d'une façon détaillée.
A vrai dire, je ne savais meme pas cela
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager