我想知道是否有更快的方法:
“我打开了我的 Management Studio,我有一个 Db 表,前面列出了许多列。我知道 FK_SomeTable 字段是一个 ForeignKey。但我不知道它是什么表上的 FK。我需要了解。”
所以,通常我打开那张表的“关系”,在一个由一个丑陋的窄窗口框起来的列表中一个一个地去寻找它,这有点无聊和浪费时间。
我也不想查询系统表。
没有更好更快的方法吗?应该有的不是吗?
谢谢
我想知道是否有更快的方法:
“我打开了我的 Management Studio,我有一个 Db 表,前面列出了许多列。我知道 FK_SomeTable 字段是一个 ForeignKey。但我不知道它是什么表上的 FK。我需要了解。”
所以,通常我打开那张表的“关系”,在一个由一个丑陋的窄窗口框起来的列表中一个一个地去寻找它,这有点无聊和浪费时间。
我也不想查询系统表。
没有更好更快的方法吗?应该有的不是吗?
谢谢
这个查询怎么样?您可以切换到查询窗口并快速执行它:
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
系统目录视图可以为您提供列信息。
如果打开数据库图表,您可以同时创建和更改多个表的关系。数据库图表显示每个选定表的可视化表示,您可以定义多个图表。据我所知,没有任何方法可以在不查询系统表的情况下检索关系信息。
好吧,我通常使用对象资源管理器并转到我想要的表,然后在 Keys 下查看。您可以扩大对象资源管理器以查看密钥的全名。如果命名正确,它可能包含主键表和外键表的表名。如果没有,您可以编写脚本来查看。我必须搜索才能找到您所说的这个关系窗口,因为在我们编写所有更改的脚本时,我永远不会使用设计窗口。