Spróbuj tego:
SELECT
*
FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS
WHERE CONSTRAINT_NAME ='FK_ChannelPlayerSkins_Channels'
-- EDYTOWAĆ --
Kiedy pierwotnie odpowiedziałem na to pytanie, myślałem o „kluczu obcym”, ponieważ pierwotne pytanie dotyczyło znalezienia „FK_ChannelPlayerSkins_Channels”. Od tego czasu wiele osób skomentowało znalezienie innych „ograniczeń”, oto kilka innych pytań w tym zakresie:
--Returns one row for each CHECK, UNIQUE, PRIMARY KEY, and/or FOREIGN KEY
SELECT *
FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
WHERE CONSTRAINT_NAME='XYZ'
--Returns one row for each FOREIGN KEY constrain
SELECT *
FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS
WHERE CONSTRAINT_NAME='XYZ'
--Returns one row for each CHECK constraint
SELECT *
FROM INFORMATION_SCHEMA.CHECK_CONSTRAINTS
WHERE CONSTRAINT_NAME='XYZ'
tutaj jest alternatywna metoda
--Returns 1 row for each CHECK, UNIQUE, PRIMARY KEY, FOREIGN KEY, and/or DEFAULT
SELECT
OBJECT_NAME(OBJECT_ID) AS NameofConstraint
,SCHEMA_NAME(schema_id) AS SchemaName
,OBJECT_NAME(parent_object_id) AS TableName
,type_desc AS ConstraintType
FROM sys.objects
WHERE type_desc LIKE '%CONSTRAINT'
AND OBJECT_NAME(OBJECT_ID)='XYZ'
Jeśli potrzebujesz jeszcze więcej informacji o ograniczeniach, zajrzyj do systemowej procedury przechowywanej, master.sys.sp_helpconstraint
aby dowiedzieć się, jak uzyskać określone informacje. Aby wyświetlić kod źródłowy za pomocą SQL Server Management Studio, wejdź do „Object Explorer”. Stamtąd rozwijasz bazę danych „Master”, a następnie „Programowalność”, następnie „Procedury składowane”, a następnie „Procedury przechowywane w systemie”. Następnie możesz znaleźć „sys.sp_helpconstraint” i kliknąć go prawym przyciskiem myszy i wybrać „modyfikuj”. Tylko uważaj, aby nie zapisać żadnych zmian. Możesz także użyć tej systemowej procedury składowanej na dowolnej tabeli, używając jej w podobny sposób EXEC sp_helpconstraint YourTableNameHere
.