Delen via


sys.foreign_key_columns (Transact-SQL)

Van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Magazijn in Microsoft FabricSQL-database in Microsoft Fabric Preview

Bevat een rij voor elke kolom of set kolommen die een refererende sleutel vormen.

Column name Data type Description
constraint_object_id int Id van de beperking REFERERENDE SLEUTEL.
constraint_column_id int Id van de kolom of set kolommen die de REFERERENDE SLEUTEL (1..n waarbij n het aantal kolommen is).
parent_object_id int Id van het bovenliggende element van de beperking, het verwijzende object.
parent_column_id int Id van de bovenliggende kolom, de verwijzingskolom.
referenced_object_id int Id van het object waarnaar wordt verwezen, met de kandidaatsleutel.
referenced_column_id int Id van de kolom waarnaar wordt verwezen (kandidaatsleutelkolom).

Permissions

De zichtbaarheid van de metagegevens in catalogusweergaven is beperkt tot beveiligbare items waarvan een gebruiker eigenaar is of waarvoor de gebruiker een bepaalde machtiging heeft gekregen. Zie Zichtbaarheidsconfiguratie voor metagegevensvoor meer informatie.

Example query

Met de volgende Transact-SQL query worden alle refererende sleutels in de database opgehaald, inclusief de bijbehorende tabellen en kolommen.

SELECT fk.name AS ForeignKeyName
    , t_parent.name AS ParentTableName
    , c_parent.name AS ParentColumnName
    , t_child.name AS ReferencedTableName
    , c_child.name AS ReferencedColumnName
FROM sys.foreign_keys fk 
INNER JOIN sys.foreign_key_columns fkc
    ON fkc.constraint_object_id = fk.object_id
INNER JOIN sys.tables t_parent
    ON t_parent.object_id = fk.parent_object_id
INNER JOIN sys.columns c_parent
    ON fkc.parent_column_id = c_parent.column_id  
    AND c_parent.object_id = t_parent.object_id 
INNER JOIN sys.tables t_child
    ON t_child.object_id = fk.referenced_object_id
INNER JOIN sys.columns c_child
    ON c_child.object_id = t_child.object_id
    AND fkc.referenced_column_id = c_child.column_id
ORDER BY t_parent.name, c_parent.name;

See also