Oracle
 sql >> Base de données >  >> RDS >> Oracle

Comment trouver le nom d'une contrainte dans Oracle

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 .