大飞马京 发表于 2023-9-13 14:25:46

如何列出引用SQL Server中给定表的所有外键?

我需要在SQL Server数据库中删除一个高度引用的表。我如何获取要删除表需要删除的所有外键约束的列表?
(与在Management Studio的GUI中单击相比,SQL回答更可取。)
               
解决方案:
               


                不知道为什么没有人建议,但是我sp_fkeys用来查询给定表的外键:
EXEC sp_fkeys 'TableName'
您还可以指定架构:
EXEC sp_fkeys @pktable_name = 'TableName', @pktable_owner = 'dbo'
在未指定架构的情况下,文档规定以下内容:

如果未指定pktable_owner,则适用基础DBMS的默认表可见性规则。
在SQL
Server中,如果当前用户拥有具有指定名称的表,则返回该表的列。如果未指定pktable_owner且当前用户不拥有具有指定pktable_name的表,则该过程将查找数据库所有者拥有的具有指定pktable_name的表。如果存在,则返回该表的列。
页: [1]
查看完整版本: 如何列出引用SQL Server中给定表的所有外键?