Oracle
 sql >> Database >  >> RDS >> Oracle

Trova se una colonna ha un vincolo univoco

Entrambe le risposte fornite qui mancano un modo per imporre l'unicità su una colonna:creando un indice univoco (senza definire un vincolo univoco sulla colonna). Vedi questi due link (uno , due ) se non hai familiarità con questa opzione.

Questo controllo dovrebbe essere eseguito in aggiunta al controllo del vincolo univoco:

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

Per verificare la presenza di un vincolo univoco, utilizzare il metodo già fornito:

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

In alternativa puoi anche guardare in ALL_CONSTRAINTS e ALL_IND_COLUMNS visualizzazioni.