Problème :
Vous voulez trouver les noms des contraintes dans une table dans Oracle.
Exemple :
On veut afficher les noms des contraintes dans la table student
.
Solution :
select CONSTRAINT_NAME, CONSTRAINT_TYPE, TABLE_NAME from USER_CONSTRAINTS where TABLE_NAME='STUDENT';
Voici le résultat :
CONSTRAINT_NAME | CONSTRAINT_TYPE | TABLE_NAME |
---|---|---|
SYS_C007376 | R | ÉTUDIANT |
SYS_C007374 | P | ÉTUDIANT |
SYS_C007375 | U | ÉTUDIANT |
SYS_C007372 | C | ÉTUDIANT |
Discussion :
Dans Oracle, utilisez la vue user_constraints
pour afficher les noms des contraintes dans la base de données. La colonne constraint_name
contient le nom de la contrainte, constraint_type
indique le type de contrainte, et table_name
contient le nom de la table à laquelle appartient la contrainte. Dans la colonne type_contrainte, la valeur « R » correspond à la clé étrangère, « P » à la clé primaire, « U » à la contrainte d'unicité et « C » à la vérification de la contrainte. Dans notre exemple, il y a une contrainte dans la table student
de type P (clé primaire) dont le nom est SYS_C007374
.