異なるデータソースを指定すると、データベース内のすべての外部キーを探したいと思います。 DBには、SQLiteからSQL Server、Oracleにいたるまで何でも構いません。それを行う一般的な方法はありますか? ORMが役立つかもしれませんか?リレーショナルDB内のすべての外部キーを検索 - 特定のRDBMSなし
SOの上には、oneのような素晴らしいスクリプトがいくつかあります。しかし、これはSQL Server固有のものであり、問題の一般的な性質を研究したいと考えています。
異なるデータソースを指定すると、データベース内のすべての外部キーを探したいと思います。 DBには、SQLiteからSQL Server、Oracleにいたるまで何でも構いません。それを行う一般的な方法はありますか? ORMが役立つかもしれませんか?リレーショナルDB内のすべての外部キーを検索 - 特定のRDBMSなし
SOの上には、oneのような素晴らしいスクリプトがいくつかあります。しかし、これはSQL Server固有のものであり、問題の一般的な性質を研究したいと考えています。
RDBMSにとらわれない唯一の希望は、INFORMATION_SCHEMA
ビューを使用することです。このビューは、ANSI-SQL互換のデータベースシステムでサポートされる必要があります。
INFORMAITON_SCHEMA
を使用して参照整合性制約を見つける方法については、this SO questionを参照してください。
オラクル、
のMySQLとPostgreSQLなどでそのべき作品のようなクエリ - しかし
Oracleは、「INFORMATION_SCHEMA」 –
@a_horse_with_no_name:** boo **、Oracle!をサポートしていません。残念ながら、ANSI SQL標準の実際の価値は実際にはほんの少ししかないことを示しています。 –
各RDBSは独自のデータ辞書を持っている(私の知る限り覚えているように、十分なANSI互換性はありません)SQLiteの中で最も可能性の高いない 、いいえ、一般的な解決策はありません。 –
ほとんどのRDBMS実装では、引用した質問/回答で使用されている情報スキーマビューをサポートする必要があります。 –
INFORMATION_SCHEMAが可能性があります。 –