我想查找所有依赖于给定表的数据库对象,包括通过外键引用给定表的其他表。我尝试使用“sp_depends”,它给了我sprocs,视图和触发器,但不告诉我其他表具有给定表的外键。任何帮助?SQL Server - 查看所有外键依赖关系
5
A
回答
9
select OBJECT_NAME(parent_object_id), OBJECT_NAME(referenced_object_id)
from sys.foreign_keys
where referenced_object_id = object_id('SchemaName.TableName')
1
2
的关键成分是sys.foreign_keys视图。我发现了一个查询,可能是因为在mssqltips.com的一篇文章中的例子时有用... Identify all of your foreign keys in a SQL Server database
1
也试试这个:
USE AUX; <- use your database name
GO
SELECT f.name AS ForeignKey,
SCHEMA_NAME(f.SCHEMA_ID) SchemaName,
OBJECT_NAME(f.parent_object_id) AS TableName,
COL_NAME(fc.parent_object_id,fc.parent_column_id) AS ColumnName,
SCHEMA_NAME(o.SCHEMA_ID) ReferenceSchemaName,
OBJECT_NAME(f.referenced_object_id) AS ReferenceTableName,
COL_NAME(fc.referenced_object_id,fc.referenced_column_id) AS ReferenceColumnName
FROM sys.foreign_keys AS f
INNER JOIN sys.foreign_key_columns AS fc ON f.OBJECT_ID = fc.constraint_object_id
INNER JOIN sys.objects AS o ON o.OBJECT_ID = fc.referenced_object_id
GO
,最后去之前,你可以添加where OBJECT_NAME(f.parent_object_id) = 'your_table_name'
看到仅依赖那张桌子。
它会打印TableName | Column name (FK) | Reference TableName | Reference Column Name
+0
This我认为是最好的答案。 – 2017-06-16 13:29:21
相关问题
- 1. 查看外键的依赖关系树
- 2. SQL Server依赖关系
- 3. SQL管理工作室'查看依赖关系'不列出所有依赖关系
- 4. SQL查询获取所需的DLL的所有依赖关系
- 5. SQL Server代理作业依赖关系
- 6. 查看依赖关系注入
- 7. 查看osgi包的依赖关系?
- 8. 查找DISTINCT缺少SQL依赖关系
- 9. PhantomJS外部依赖关系
- 10. Webpack外部依赖关系
- 11. 从SQL查询获取依赖关系
- 12. 如何查找特定行的外键依赖关系?
- 13. 查找SQL Server服务器数据类型的依赖关系
- 14. SQL Server上的全局依赖关系检查
- 15. 我该如何检查sql server的'views'依赖关系
- 16. 查找SQL Server 2005中的依赖关系
- 17. SQL中的依赖关系
- 18. SQL循环依赖关系
- 19. 清除所有依赖关系
- 20. Grunt concat所有package.json依赖关系
- 21. 依赖关系的nuget依赖关系
- 22. SQL Server:查看保留表的外键?
- 23. SQL Server - 添加外键关系
- 24. SQL Server帮助创建外键关系
- 25. SQL Server SMO:删除具有依赖关系的多个对象
- 26. 如何查找数据库表的所有依赖关系?
- 27. 查找列依赖关系
- 28. 查找AAR依赖关系
- 29. 查找makefile依赖关系
- 30. 将依赖关系转换为指向查看而不是表
正是我所需要的。谢谢。 – thenoob 2011-03-09 16:48:40