Récupérer la liste des clés étrangères et des clés primaires d'une base de données SQL

Publié le 20 juillet 2009 par Dave Lizotte
Voyons comment il est possible, pour un administrateur de base de données ou un simple programmeur, de récupérer la liste des clés étrangères et des clés primaires d'une base de données. Voici les 2 méthodes permettant d'obtenir un tel résultat.

INFORMATION_SCHEMA

SELECT
DISTINCT
        Constraint_Name AS [Constraint],
        Table_Schema AS [Schema],
        Table_Name AS [TableName]
FROM    INFORMATION_SCHEMA.KEY_COLUMN_USAGE

sys.objects

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 IN ( 'FOREIGN_KEY_CONSTRAINT', 'PRIMARY_KEY_CONSTRAINT' )