sys.foreign_key_columns (T-SQL)
Berlaku untuk: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform 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;