[英]How can we identify the relationship between two SQL Server tables , either one to one or some other relationship…?
我們如何識別兩個SQL Server表之間的關系,一對一或其他一些關系.....?
您可以使用Microsoft系統視圖來實現此目的:
SELECT
obj.name AS fk
,sch.name AS [schema_name]
,tabParent.name AS [table]
,colParent.name AS [column]
,tabRef.name AS [referenced_table]
,colRef.name AS [referenced_column]
FROM sys.foreign_key_columns fkc
JOIN sys.objects obj ON obj.object_id = fkc.constraint_object_id
JOIN sys.tables tabParent ON tabParent.object_id = fkc.parent_object_id
JOIN sys.schemas sch ON tabParent.schema_id = sch.schema_id
JOIN sys.columns colParent ON colParent.column_id = parent_column_id AND colParent.object_id = tabParent.object_id
JOIN sys.tables tabRef ON tabRef.object_id = fkc.referenced_object_id
JOIN sys.columns colRef ON colRef.column_id = referenced_column_id AND colRef.object_id = tabRef.object_id
JOIN sys.schemas schRef ON tabRef.schema_id = schRef.schema_id
WHERE schRef.name = N'dbo'
AND tabRef.name = N'Projects'
可以通過引用的表或列過濾此查詢,或者僅查找引用特定列的所有內容。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.