Megosztás a következőn keresztül:


sys.foreign_key_columns (Transact-SQL)

A következőkre vonatkozik:SQL ServerAzure SQL DatabaseFelügyelt Azure SQL-példányAzure Synapse AnalyticsElemzési platformrendszer (PDW)Raktár a Microsoft FabricbenSQL-adatbázis a Microsoft Fabricben

Minden oszlophoz vagy oszlopkészlethez tartalmaz egy sort, amely egy idegen kulcsot tartalmaz.

Oszlop név Adattípus Description
constraint_object_id int A FOREIGN KEY kényszer azonosítója.
constraint_column_id int A FOREIGN BILLENTYŰT alkotó oszlop vagy oszlopkészlet azonosítója (1.n , ahol n az oszlopok száma).
parent_object_id int A kényszer szülőjének azonosítója, amely a hivatkozó objektum.
parent_column_id int A szülőoszlop azonosítója, amely a hivatkozó oszlop.
referenced_object_id int A hivatkozott objektum azonosítója, amely rendelkezik a jelölt kulccsal.
referenced_column_id int A hivatkozott oszlop azonosítója (jelöltkulcs-oszlop).

Permissions

A katalógusnézetekben a metaadatok láthatósága olyan biztonságos adatokra korlátozódik, amelyek egy felhasználó tulajdonában vannak, vagy amelyeken a felhasználó engedélyt kapott. További információ: Metaadatok láthatóságának konfigurációja.

Példa lekérdezés

Az alábbi Transact-SQL lekérdezés lekéri az adatbázis összes idegen kulcsát, beleértve a kapcsolódó táblákat és oszlopokat is.

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;

Lásd még