sql >> Base de Datos >  >> RDS >> Oracle

Encuentra si una columna tiene una restricción única

Ambas respuestas dadas aquí pierden una forma de imponer la unicidad en una columna:creando un índice único (sin definir una restricción única en la columna). Consulte estos dos enlaces (uno , dos ) si no está familiarizado con esta opción.

Esta verificación debe realizarse adicionalmente a la verificación de restricción única:

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

Para verificar una restricción única, use el método ya proporcionado:

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

Alternativamente, también puede buscar en ALL_CONSTRAINTS y ALL_IND_COLUMNS vistas.