Précédent   Forum du club des développeurs et IT Pro > Bases de données > Oracle > Débuter
Débuter Forum d'entraide pour débuter avec Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 13/09/2012, 12h29   #1
fernando60
Invité de passage
 
Inscription : septembre 2008
Messages : 18
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 18
Points : 3
Points : 3
Par défaut Retrouver les clés étrangères d'une base de données

Dans le but de créer un référentiel d’une base Oracle j’ai réussi les différents traitements suivants :
1) récupération des tables "SELECT table_name FROM all_tables"
2) récupération des colonnes "SELECT COLUMN_NAME,DATA_TYPE,DEFAULT_LENGTH,DATA_LENGTH,DATA_PRECISION FROM all_TAB_COLS WHERE TABLE_NAME ='"
3) récupération des commentaires tables "SELECT * FROM all_tab_comments"
4) ) récupération des commentaires colonnes "SELECT * FROM all_col_comments"

Par contre je ne retrouve pas les clés étrangères de ma base qui d’après les renseignements glanés sur Internet devraient se récupérer par des requêtes du genre :
“ select * from all_constraints where constraint_type='R'”
qui ne rendent rien pour mes tables utilisateurs.
fernando60 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/09/2012, 14h00   #2
spdev666
Membre habitué
 
Inscription : septembre 2008
Messages : 101
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 101
Points : 116
Points : 116
Ce que tu as trouvé sur internet est pourtant correct ...

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
 
SQL> CREATE TABLE testTablePere
  2  (
  3    IdPere number(10) NOT NULL
  4  )
  5  ;
 
TABLE created
 
SQL> -- Create/Recreate primary, unique and foreign key constraints
SQL> ALTER TABLE testTablePere
  2    ADD constraint ClePrimaire01 PRIMARY KEY (IdPere);
 
TABLE altered
 
SQL> -- Create table
SQL> CREATE TABLE testTableFils
  2  (
  3    IdFils number(10) NOT NULL,
  4    IdPere number(10) NOT NULL
  5  )
  6  ;
 
TABLE created
 
SQL> -- Create/Recreate primary, unique and foreign key constraints
SQL> ALTER TABLE testTableFils
  2    ADD constraint ClePrimaire02 PRIMARY KEY (IdFils);
 
TABLE altered
 
SQL> ALTER TABLE testTableFils
  2    ADD constraint CleEtrangere01 FOREIGN KEY (IdPere)
  3    REFERENCES testTablePere (IdPere);
 
TABLE altered
 
SQL> SELECT c.constraint_name
  2    FROM ALL_CONSTRAINTS C
  3   WHERE C.TABLE_NAME = 'TESTTABLEFILS'
  4     AND C.CONSTRAINT_TYPE = 'R';
 
CONSTRAINT_NAME
------------------------------
CLEETRANGERE01
spdev666 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/09/2012, 17h08   #3
fernando60
Invité de passage
 
Inscription : septembre 2008
Messages : 18
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 18
Points : 3
Points : 3
Par défaut problème foreign-keys suite et fin

J'ai résolu mon problème.
Le progiciel que j'analyse n'utilise pas les clés étrangères !
Les colonnes des tables ont le format suivant : table_colonne.
C'est donc le nom de la colonne qui implicitement indique qu'il s'agit d'une clé étrangère.
Merci de votre aide.
fernando60 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 05h36.


 
 
 
 
Partenaires

Hébergement Web