按照我之前提出的问题:我正在尝试获取数据库的所有自动生成的外键。
在我的情况下(它必须是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
答案 0 :(得分:6)
您可以轻松查阅SELECT *
FROM sys.foreign_keys
WHERE is_system_named = 1
目录视图:
sys_log
这将返回所有“系统命名”的外键约束,例如在创建它们时没有提供显式约束名称。