Essayez ceci :
SELECT
*
FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS
WHERE CONSTRAINT_NAME ='FK_ChannelPlayerSkins_Channels'
-- EDIT --
Lorsque j'ai répondu à cette question, je pensais à une "clé étrangère", car la question initiale demandait de trouver "FK_ChannelPlayerSkins_Channels". Depuis, de nombreuses personnes ont fait des commentaires sur la recherche d'autres "contraintes". Voici quelques autres requêtes à ce sujet :
--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'
voici une autre méthode
--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'
Si vous avez besoin d'encore plus d'informations sur les contraintes, regardez dans la procédure stockée du système master.sys.sp_helpconstraint
pour voir comment obtenir certaines informations. Pour visualiser le code source à l'aide de SQL Server Management Studio, accédez à l'"Explorateur d'objets". De là, développez la base de données "Master", puis "Programmability", puis "Stored Procedures", puis "System Stored Procedures". Vous pouvez alors trouver "sys.sp_helpconstraint" et faire un clic droit dessus et sélectionner "modifier". Faites attention à ne pas enregistrer les modifications. Vous pouvez également utiliser cette procédure stockée système sur n'importe quelle table en l'utilisant comme suit EXEC sp_helpconstraint YourTableNameHere
.
0 votes
geekswithblogs.net/deadlydog/archive/2012/09/14/
2 votes
Beaucoup des réponses données ici échouent lorsque le même nom de contrainte est utilisé sur plusieurs objets ou dans un autre schéma.