在SQL Server中是否有一个命令返回与给定表或视图有关系的所有表的列表?
编辑:SQL SERVER 2008
答案 0 :(得分:13)
对于SQL Server 2005及更高版本,请使用以下内容:
SELECT
name, OBJECT_NAME(parent_object_id) 'Table'
FROM
sys.foreign_keys
WHERE
referenced_object_id = OBJECT_ID('Your-referenced-table-name-here')
答案 1 :(得分:2)
-- To find all the foreign keys established to a table!
-- Columns: FKTABLE_NAME, FKCOLUMN_NAME
sp_fkeys @pktable_name='your table name here'
答案 2 :(得分:2)
假设您的表名是TableX。如果您想知道所有外键关系(在TableX中引用的其他表和其他表的列中引用的TableX列),您可以这样做:
select name 'ForeignKeyName',
OBJECT_NAME(referenced_object_id) 'RefrencedTable',
OBJECT_NAME(parent_object_id) 'ParentTable'
from sys.foreign_keys
where referenced_object_id = OBJECT_ID('TableX') or
parent_object_id = OBJECT_ID('TableX')