查找ForeignKey的最快方法是与Management Studio中的哪个表相关?

时间:2009-12-15 15:38:19

标签: sql-server ssms foreign-key-relationship

我想知道是否有更快的方法:

“我的Management Studio已打开,我有一个Db表,列在我面前的列。我知道FK_SomeTable字段是一个ForeignKey。但我不知道它是什么表上的FK。我需要了解这一点。“

所以,通常我打开那张桌子的“关系”,在列表中一个接一个地走进,这个窗口被一个丑陋的狭窄窗口框住,并试图在那里找到它,这有点无聊和时间的消失。

我也不想查询系统表。

是不是有更好更快的方法?应该有,不是吗?

由于

3 个答案:

答案 0 :(得分:1)

这个查询怎么样?您可以翻到查询窗口并快速执行:

SELECT
    name,
    OBJECT_NAME(parent_object_id) 'Parent Table',
    OBJECT_NAME(referenced_object_id) 'Referenced Table'
FROM sys.foreign_keys

为您提供FK名称,以及涉及的两个表格。

如果需要,还有一个sys.foreign_key_columns系统目录视图可以为您提供列信息。

答案 1 :(得分:0)

如果打开数据库图表,则可以同时创建和更改多个表的关系。数据库图表显示了所选每个表的可视化表示,您可以定义多个图表。据我所知,没有任何方法可以在不查询系统表的情况下检索关系信息。

答案 2 :(得分:0)

我通常使用对象资源管理器并转到我想要的表格,然后在Keys下查看。您可以加宽对象资源管理器以查看密钥的完整名称。如果它被正确命名,它可能具有主键和外键表的表名。如果没有,你可以编写脚本来查看。我不得不搜索找到你正在谈论的关系窗口,因为我不会使用设计窗口来编写所有更改。