当前位置:  开发笔记 > 数据库 > 正文

如何获取所有自动生成的外键名称?

如何解决《如何获取所有自动生成的外键名称?》经验,为你挑选了1个好方法。

按照我之前提出的问题:我正在尝试获取数据库的所有自动生成的外键.

在我的情况下(它必须是SQL Server 2014的典型行为),所有生成的外键约束都有一个名称FK__TableFrom__TableTo__1F63A897,其中键名称(1F63A897)的末尾是自动生成的.所有名字很好的外键都像FK__TableFrom__TableTo.所以我需要使用密钥名称末尾的随机字符串来定位所有外键

我尝试过LIKE操作员,但无法实现我的目标.

最优选的输出应该是:

SCHEMA_NAME     |   TABLE_NAME      |   FOREIGN_KEY_NAME
--------------------------------------------------------
...             |   ...             |   ID
...             |   ...             |   ID
...             |   ...             |   ID
...             |   ...             |   ID
...             |   ...             |   ID
...             |   ...             |   ID
...             |   ...             |   ID

marc_s.. 6

您可以轻松查阅sys.foreign_keys目录视图:

SELECT *
FROM sys.foreign_keys
WHERE is_system_named = 1

这将返回"系统命名"的所有外键约束,例如,在创建它们时未提供显式约束名称的情况.



1> marc_s..:

您可以轻松查阅sys.foreign_keys目录视图:

SELECT *
FROM sys.foreign_keys
WHERE is_system_named = 1

这将返回"系统命名"的所有外键约束,例如,在创建它们时未提供显式约束名称的情况.

推荐阅读
罗文彬2502852027
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有