Kopiuj zestawy danych z relacją n: m

Chciałbym użyć pojedynczej instrukcji SQL

<code>insert into T (...) select ... from T where ...
</code>

skopiować wiele zestawów danych. Moim problemem jest to, że z tabeli są relacje N: MT do innych tabel, które również należy skopiować. Jak mogę to zrobić, jeśli nie wiem, który oryginalny zestaw danych należy do którego skopiowanego zestawu danych? Pozwól mi pokazać na przykładzie.

Zawartość bazy danych przed:

StółT:

<code>ID  | COL1 | COL2    
-----------------
1   | A    | B
2   | C    | D
</code>

N: Tabela odniesień do tabeli M U z tabeli T (nie pokazano tabeli U):

<code>T   | U              
---------
1   | 100
1   | 101
2   | 100
2   | 102
</code>

Moja operacja kopiowania, w której [???] to część, której nie znam:

<code>insert into T (COL1, COL2) select COL1, COL2 from T
insert into NM (T, U) select [???]
</code>
Zawartość bazy danych po:

StółT:

<code>ID  | COL1 | COL2
-----------------
1   | A    | B
2   | C    | D
3   | A    | B
4   | C    | D
</code>

N: M-stół:

<code>T   | U
---------
1   | 100
1   | 101
2   | 100
2   | 102
3   | 100
3   | 101
4   | 100
4   | 102
</code>

Ogłoszenie:

Mam tysiące zbiorów danych (nie tylko dwa)Chcę użyć „insert ... select”, aby uzyskać lepszą wydajność

questionAnswers(2)

yourAnswerToTheQuestion