sys.foreign_key_columns (Transact-SQL)
Применимо к:SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure Управляемый экземпляр SQL Azure Azure Synapse Analytics AnalyticsPlatform System (PDW)Warehouse in Microsoft Fabric
Содержит строку для каждого столбца или набора столбцов, представляющих внешний ключ.
Имя столбца | Тип данных | Description |
---|---|---|
constraint_object_id | int | Идентификатор ограничения FOREIGN KEY. |
constraint_column_id | int | Идентификатор столбца или набора столбцов, составляющих FOREIGN KEY (1.n , где n — число столбцов). |
parent_object_id | int | Идентификатор родителя ограничения, ссылающегося на объект. |
parent_column_id | int | Идентификатор родительского столбца, являющегося ссылающимся столбцом. |
referenced_object_id | int | Идентификатор объекта ссылки с потенциальным ключом. |
referenced_column_id | int | Идентификатор столбца ссылки (потенциальный ключевой столбец). |
Разрешения
Видимость метаданных в представлениях каталога ограничена защищаемыми объектами, которыми владеет пользователь или которым пользователь получил некоторое разрешение. Дополнительные сведения см. в разделе 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;
См. также
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по