2010-04-20 6 views

Antwort

24

Siehe INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE

36

Ed korrekt ist, werden die Spalten auf der Beschränkungsspalte Nutzungssicht ausgesetzt, das Leben einfacher zu machen, die krufted SQL für sie.

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

ich verwenden finden *** Einschränkungen überprüfen *** mit Filter 'constraint_type = 'CHECK'' Eg: ***' wo TC.constraint_type =' Check ' AND TC.TABLE_NAME =' Rollen2016.UsersCRM ' UND 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

Der Wert der Spalte 'index_id' ist nur innerhalb eines Objekts oder Schemas eindeutig? –

1

Gerade als Referenz von mySQL-Nutzer, gleiche kann mit folgenden Abfragen erreicht werden:

auf einem Tisch jede eindeutige Einschränkung finden

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

einzigartige Spalte finden Liste mit allen Spalten

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

auf eindeutige Spalte Liste mit den erforderlichen Ansicht

select CONSTRAINT_NAME,COLUMN_NAME,TABLE_NAME from INFORMATION_SCHEMA.KEY_COLUMN_USAGE where CONSTRAINT_NAME='cons_name' and TABLE_NAME='db_my_table' 
Verwandte Themen