我需要删除 SQL Server 数据库中高度引用的表。如何获取删除表时需要删除的所有外键约束的列表?
(SQL 答案比在 Management Studio 的 GUI 中单击有关更好。)
不知道为什么没有人建议但我使用sp_fkeys
查询给定表的外键:
EXEC sp_fkeys 'TableName'
您还可以指定架构:
EXEC sp_fkeys @pktable_name = 'TableName', @pktable_owner = 'dbo'
在不指定架构的情况下,docs https://learn.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sp-fkeys-transact-sql陈述以下内容:
如果未指定pktable_owner,则默认表可见性规则
底层 DBMS 的适用。
在 SQL Server 中,如果当前用户拥有指定的表
name,返回该表的列。如果 pktable_owner 不是
指定且当前用户不拥有指定的表
pktable_name,该过程查找具有指定的表
pktable_name 由数据库所有者拥有。如果存在,该表的
返回列。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)