sys.foreign_key_columns (Transact-SQL)
Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do AzureAzure Synapse AnalyticsPDW (Analytics Platform System)Warehouse in Microsoft Fabric
Contém uma linha para cada coluna, ou conjunto de colunas, que inclui uma chave estrangeira.
Nome da coluna | Tipo de dados | Descrição |
---|---|---|
constraint_object_id | int | ID da restrição FOREIGN KEY. |
constraint_column_id | int | ID da coluna, ou conjunto de colunas, que inclui FOREIGN KEY (1..n onde n é o número de colunas). |
parent_object_id | int | ID do pai da restrição, que é o objeto de referência. |
parent_column_id | int | ID da coluna pai, que é a coluna de referência. |
referenced_object_id | int | ID do objeto referenciado, que tem a chave candidata. |
referenced_column_id | int | ID da coluna referenciada (coluna da chave candidata). |
Permissões
A visibilidade dos metadados em exibições de catálogo é limitada a protegíveis que um usuário possui ou nos quais o usuário recebeu alguma permissão. Para obter mais informações, consulte Metadata Visibility Configuration.
Consulta de exemplo
A consulta Transact-SQL a seguir recupera todas as chaves estrangeiras no banco de dados, incluindo suas tabelas e colunas relacionadas.
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;
Confira também
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários