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.