查找关系数据库中的所有外键 - 没有特定于RDBMS的内容

时间:2012-01-06 21:14:34

标签: .net sql foreign-keys

鉴于不同的数据源,我想找出数据库中的所有外键。 DB可以是从SQLite到SQL Server和Oracle的任何东西。有通用的方法吗?可能是ORM可能有帮助吗?

SO上有一些很好的脚本,比如one。但这是SQL Server特有的,我想研究问题的一般性质。

1 个答案:

答案 0 :(得分:3)

您必须与RDBMS无关的唯一希望是使用INFORMATION_SCHEMA视图,任何合理的ANSI-SQL兼容数据库系统都应该支持这些视图。

请参阅this SO question,了解如何使用INFORMAITON_SCHEMA查找参照完整性约束。那些的查询应该 Oracle, MySQL和PostgreSQL等上工作 - 但很可能不是在SQLite中(不是ANSI兼容,就此而言我记得了)