sys.foreign_key_columns (Transact-SQL)
Se aplica a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Almacenamiento en Microsoft Fabric
Contiene una fila para cada columna o conjunto de columnas que componen una clave externa.
Nombre de la columna | Tipo de datos | Descripción |
---|---|---|
constraint_object_id | int | Id. de la restricción FOREIGN KEY. |
constraint_column_id | int | Identificador de la columna, o del conjunto de columnas, que componen FOREIGN KEY (1..n, donde n es el número de columnas). |
parent_object_id | int | Id. del elemento primario de la restricción, que es el objeto que hace la referencia. |
parent_column_id | int | Id. de la columna primaria, que es la columna que hace la referencia. |
referenced_object_id | int | Id. del objeto al que se hace referencia, que tiene la clave candidata. |
referenced_column_id | int | Id. de la columna a la que se hace referencia (columna de clave candidata). |
Permisos
La visibilidad de los metadatos de las vistas de catálogo se limita a elementos protegibles que un usuario posee o en el que se concedió algún permiso al usuario. Para obtener más información, consulte Metadata Visibility Configuration.
Ejemplo de consulta
La siguiente consulta de Transact-SQL recupera todas las claves externas de la base de datos, incluidas sus tablas y columnas 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;
Consulte también
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente las Cuestiones de GitHub como mecanismo de retroalimentación para el contenido y lo sustituiremos por un nuevo sistema de retroalimentación. Para más información, consulta:Enviar y ver comentarios de