Versuche dies:
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 in der ursprünglichen Frage nach dem Finden von "FK_ChannelPlayerSkins_Channels" gefragt wurde. Seitdem haben viele Leute kommentiert, andere "Einschränkungen" zu finden. Hier sind einige andere Fragen dazu:
--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 Informationen zu Einschränkungen benötigen, sehen Sie in der gespeicherten Systemprozedur master.sys.sp_helpconstraint
nach, wie Sie bestimmte Informationen erhalten. Um den Quellcode mit SQL Server Management Studio anzuzeigen, rufen Sie den "Objekt-Explorer" auf. Von dort aus erweitern Sie die Datenbank "Master", dann "Programmierbarkeit", dann "Gespeicherte Prozeduren" und dann "Systemgespeicherte Prozeduren". 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. Sie können diese gespeicherte Systemprozedur auch einfach für jede Tabelle verwenden, indem Sie sie wie folgt verwenden EXEC sp_helpconstraint YourTableNameHere
.