sys.foreign_key_columns(Transact-SQL)
적용 대상: Microsoft Fabric의 Microsoft Fabric SQL 데이터베이스에 있는 SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System(PDW) 웨어하우스
외래 키를 구성하는 각 열 또는 열 집합에 대한 행을 포함합니다.
열 이름 | 데이터 형식 | 설명 |
---|---|---|
constraint_object_id | int | FOREIGN KEY 제약 조건의 ID입니다. |
constraint_column_id | int | FOREIGN KEY(n이 열 수인 경우 1..n )를 구성하는 열 또는 열 집합의 ID입니다. |
parent_object_id | int | 참조 개체인 제약 조건의 부모 ID입니다. |
parent_column_id | int | 참조 열인 부모 열의 ID입니다. |
referenced_object_id | int | 후보 키가 있는 참조되는 개체의 ID입니다. |
referenced_column_id | int | 참조된 열의 ID(후보 키 열)입니다. |
사용 권한
사용자가 소유하고 있거나 사용 권한을 부여 받은 보안 개체에 대해서만 카탈로그 뷰의 메타데이터를 볼 수 있습니다. 자세한 내용은 Metadata Visibility Configuration을 참조하세요.
예제 쿼리
다음 Transact-SQL 쿼리는 관련 테이블 및 열을 포함하여 데이터베이스의 모든 외세 키를 검색합니다.
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;