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.
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ść