データ ディクショナリにクエリを実行して、データを入力する順序でテーブルのリストを取得する方法はありますか。
多数のテーブルで一括挿入を行っているプロジェクトがあり、データを入力する順序で並べ替えられたテーブルのリストを取得できれば非常に役立ちます。
私の特定のユースケースはMySqlですが、この機能がOracle、MS SqlServerなどにも存在するかどうかを知ることは興味深いでしょう.
編集:たとえば、これらのテーブルを作成した場合(疑似コード)
person_type (
person_type_id
);
person (
person_id,
person_type_id references person_type.person_type_id
);
address (
address_id,
street1,
street2,
city,
state,
zip
);
person_address (
person_id references person_id
address_id references address.address_id
);
ソート順は次のようになると思います。
0アドレス
0 人のタイプ
1人
2 person_address
- アドレスには依存関係がないため、最初に入力できます (ソート ランク = 0)
- person_type には依存関係がないため、最初に入力することもできます (並べ替えランク = 0)
- person は person_type に依存するため、適切な person_type レコードが作成されるまで入力できません (ソート ランク = 1)。
- person_address は person_type、person、および address に依存するため、これらのテーブルにレコードが存在した後にのみ入力できます (並べ替えランク = 2)