Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Finden Sie heraus, ob eine Spalte eine eindeutige Einschränkung hat

Beide hier gegebenen Antworten vermissen eine Möglichkeit, die Eindeutigkeit einer Spalte zu erzwingen:durch Erstellen eines eindeutigen Index (ohne eine eindeutige Einschränkung für die Spalte zu definieren). Siehe diese beiden Links (einer ). , zwei ), wenn Sie mit dieser Option nicht vertraut sind.

Diese Prüfung sollte zusätzlich durchgeführt werden zur Eindeutigkeitsprüfung:

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

Verwenden Sie die bereits bereitgestellte Methode, um nach einer eindeutigen Einschränkung zu suchen:

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

Alternativ können Sie auch in den ALL_CONSTRAINTS nachsehen und ALL_IND_COLUMNS Aufrufe.