有没有快速的方法来确定哪些表引用特定主键作为外键?

时间:2010-07-15 21:12:52

标签: sql-server sql-server-2008

我正在进行一些重构,但是,我想检查一下我想要更改的当前主键当前是否被引用为任何其他表中的外键。我正在使用的模式非常大,因此扫描模式中的每个表都不是一个可行的选项。

3 个答案:

答案 0 :(得分:4)

EXEC sp_help 'yourtable' - 结果集中的一个表包含引用该表的FK。

答案 1 :(得分:3)

这样的东西?

SELECT
    fk.name,
    t1.name 'Child table',
    t2.name 'Parent table'
FROM 
    sys.foreign_keys fk
INNER JOIN 
    sys.tables t1 ON fk.parent_object_id = t1.object_id
INNER JOIN 
    sys.tables t2 ON fk.referenced_object_id = t2.object_id 
WHERE 
    t2.name = '(your table name here)'

答案 2 :(得分:0)