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

Rechercher si une colonne a une contrainte unique

Les deux réponses données ici manquent une façon d'imposer l'unicité sur une colonne :en créant un index unique (sans définir de contrainte d'unicité sur la colonne). Voir ces deux liens (un , deux ) si vous n'êtes pas familier avec cette option.

Cette vérification doit être effectuée en plus au contrôle de contrainte unique :

select count(*) from
USER_IND_COLUMNS cols
where cols.table_name='YOUR_TABLE_NAME'
and cols.COLUMN_NAME='YOUR_COLUMN';

Pour vérifier une contrainte unique, utilisez la méthode déjà fournie :

select count(*) cnt 
from user_constraints uc
where uc.table_name='YOUR_TABLE_NAME'
and uc.constraint_type='U';

Sinon, vous pouvez également regarder dans le ALL_CONSTRAINTS et ALL_IND_COLUMNS vues.