versuchen Sie Folgendes:
SELECT
*
FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS
WHERE CONSTRAINT_NAME ='FK_ChannelPlayerSkins_Channels'
-- BEARBEITEN --
Als ich diese Frage ursprünglich beantwortete, dachte ich an „Fremdschlüssel“, weil die ursprüngliche Frage nach dem Finden von „FK_ChannelPlayerSkins_Channels“ fragte. Seitdem haben viele Leute kommentiert, andere "Einschränkungen" zu finden, hier sind einige andere Abfragen dafür:
--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'
Hier ist eine alternative Methode
--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'
Wenn Sie noch mehr Einschränkungsinformationen benötigen, sehen Sie sich die gespeicherte Systemprozedur master.sys.sp_helpconstraint
an um zu sehen, wie man bestimmte Informationen erhält. Um den Quellcode mit SQL Server Management Studio anzuzeigen, rufen Sie den "Objekt-Explorer" auf. Von dort aus erweitern Sie die „Master“-Datenbank, erweitern dann „Programmierbarkeit“, dann „Stored Procedures“ und dann „System Stored Procedures“. Sie können dann "sys.sp_helpconstraint" finden und mit der rechten Maustaste darauf klicken und "Ändern" auswählen. Achten Sie nur darauf, keine Änderungen daran zu speichern. Außerdem können Sie diese gespeicherte Systemprozedur einfach für jede Tabelle verwenden, indem Sie sie wie EXEC sp_helpconstraint YourTableNameHere
verwenden .