2

データ ディクショナリにクエリを実行して、データを入力する順序でテーブルのリストを取得する方法はありますか。

多数のテーブルで一括挿入を行っているプロジェクトがあり、データを入力する順序で並べ替えられたテーブルのリストを取得できれば非常に役立ちます。

私の特定のユースケースは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)
4

1 に答える 1