0

テスト目的で、ルート テーブルの 1 つの特定のレコードに関連付けられたすべてのテーブルのすべてのレコードに対して挿入スクリプトを生成したいと考えています。たとえば、「Participant」テーブルがあり、「Documents」テーブルに任意の数の関連エントリがあり、さらに「PrintRequests」テーブルに任意の数の関連エントリがあるなどです。データベースにはこれらのテーブルが何百もあります。

たとえば、ParticipantId = 1 に関連付けられているすべてのテーブルのすべてのレコードを選択/スクリプト化する方法はありますか? このようにして、代表的な参加者の場合、すべてのテーブルで関連するすべてのレコードを抽出できます。

私のアイデアの 1 つは、完全なデータベースのバックアップを復元し、すべての外部キー制約を変更してカスケード削除を行い、participantid = 1 以外のものをすべて削除し、参加者に関連しないすべてのものをデータベースに削除させることでした。次に、残りのデータベース全体をスクリプト化します。

このために、すべての制約を削除して再作成する必要があるかもしれませんが、データベース全体でどのように行うかはわかりません。

あるいは、これを行うことができる他のツールはありますか? たとえば、クエリを取得して、そのクエリのレコードと関連する子レコードのみを移行できる移行ツールはありますか?

4

2 に答える 2