2010-04-20 18 views

Respuesta

24

Ver INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE

36

Ed es correcta, las columnas están expuestas en la vista de uso de la columna de restricción, para hacer su vida más fácil, el SQL krufted por ello.

select TC.Constraint_Name, CC.Column_Name from information_schema.table_constraints TC 
inner join information_schema.constraint_column_usage CC on TC.Constraint_Name = CC.Constraint_Name 
where TC.constraint_type = 'Unique' 
order by TC.Constraint_Name 
+0

utilizo para mis *** *** restricciones de comprobación utilizando el filtro 'CONSTRAINT_TYPE = 'CHECK'' Por ejemplo: ***' donde TC.constraint_type =' COMPROBAR ' Y TC.TABLE_NAME =' Roles2016.UsersCRM ' AND CC.Column_Name =' State'' *** – Kiquenet

1
SELECT * 
FROM sys.indexes i 
JOIN sys.index_columns ic ON i.index_id = ic.index_id 
         AND i.object_id = ic.object_id 
WHERE i.is_unique_constraint = 1 
+0

¿El valor de la columna 'index_id' es único dentro de un objeto o esquema? –

1

Sólo como referencia de los usuarios de MySQL, Lo mismo se puede lograr con las consultas siguientes:

encontrar ninguna restricción única en una mesa

select * from INFORMATION_SCHEMA.TABLE_CONSTRAINTS where CONSTRAINT_TYPE='UNIQUE' and table_name='db_my_table' 

Para encontrar única columna lista con todas las columnas

select * from INFORMATION_SCHEMA.KEY_COLUMN_USAGE where CONSTRAINT_NAME='cons_name' and TABLE_NAME='db_my_table' 

para encontrar la lista de la columna única con vista requerida

select CONSTRAINT_NAME,COLUMN_NAME,TABLE_NAME from INFORMATION_SCHEMA.KEY_COLUMN_USAGE where CONSTRAINT_NAME='cons_name' and TABLE_NAME='db_my_table' 
Cuestiones relacionadas