sys.foreign_key_columns (T-SQL)

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics AnalyticsPlatform System (PDW)Warehouse di Microsoft Fabric

Berisi baris untuk setiap kolom, atau sekumpulan kolom, yang terdiri dari kunci asing.

Nama kolom Jenis data Deskripsi
constraint_object_id int ID batasan KUNCI ASING.
constraint_column_id int ID kolom, atau kumpulan kolom, yang terdiri dari KUNCI ASING (1..n di mana n adalah jumlah kolom).
parent_object_id int ID induk batasan, yaitu objek referensi.
parent_column_id int ID kolom induk, yang merupakan kolom referensi.
referenced_object_id int ID objek yang dirujuk, yang memiliki kunci kandidat.
referenced_column_id int ID kolom yang dirujuk (kolom kunci kandidat).

Izin

Visibilitas metadata dalam tampilan katalog terbatas pada keamanan yang dimiliki pengguna, atau di mana pengguna diberikan beberapa izin. Untuk informasi selengkapnya, lihat Konfigurasi Visibilitas Metadata.

Kueri contoh

Kueri Transact-SQL berikut mengambil semua kunci asing dalam database, termasuk tabel dan kolom terkait.

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;

Lihat juga