Copie los conjuntos de datos con n: m-relación

Me gustaría usar la única declaración SQL

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

Para copiar una gran cantidad de conjuntos de datos. Mi problema es que hay relaciones N: M de la tablaT A otras tablas y estas tienen que ser copiadas también. ¿Cómo puedo hacer esto, si no sé qué conjunto de datos original pertenece a qué conjunto de datos copiado? Déjame demostrarte con el ejemplo.

Contenido de la base de datos anterior:

MesaT:

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

N: la tabla M hace referencia a la tabla U de la tabla T (la tabla U no se muestra):

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

Mi operación de copia donde [???] es la parte que no sé:

<code>insert into T (COL1, COL2) select COL1, COL2 from T
insert into NM (T, U) select [???]
</code>
Contenido de la base de datos después de:

MesaT:

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

N: tabla M:

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

Darse cuenta:

Tengo miles de conjuntos de datos (no solo dos)Quiero usar 'insertar ... seleccionar' para obtener un mejor rendimiento

Respuestas a la pregunta(2)

Su respuesta a la pregunta