spróbuj tego:
SELECT
*
FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS
WHERE CONSTRAINT_NAME ='FK_ChannelPlayerSkins_Channels'
-- EDYTUJ --
Kiedy pierwotnie odpowiadałem na to pytanie, myślałem „Klucz obcy”, ponieważ pierwotne pytanie dotyczyło znalezienia „FK_ChannelPlayerSkins_Channels”. Od tego czasu wiele osób skomentowało znalezienie innych „ograniczeń”, oto kilka innych zapytań:
--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 składowanej master.sys.sp_helpconstraint
aby zobaczyć, jak uzyskać określone informacje. Aby wyświetlić kod źródłowy za pomocą programu SQL Server Management Studio, przejdź do „Eksploratora obiektów”. Stamtąd rozwijasz bazę danych „Master”, a następnie rozwijasz „Programmability”, następnie „Stored Procedures”, a następnie „System Stored Procedures”. Następnie możesz znaleźć „sys.sp_helpconstraint”, kliknąć go prawym przyciskiem myszy i wybrać „modyfikuj”. Tylko uważaj, aby nie zapisać w nim żadnych zmian. Możesz także po prostu użyć tej systemowej procedury składowanej w dowolnej tabeli, używając jej na przykład EXEC sp_helpconstraint YourTableNameHere
.