Schneller wird es sein, wenn Du es in SQL machst. Leider sagt mir dbforge nichts, daher kann ich zu spezielle Sprachfeatures nichts sagen.
Aber generell würde ich es in der Art machen:
Nehmen wir die beiden Tabelle so an:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| Tabelle_Neu: ID BEZEICHNUNG NOCHEINFELD -------------------------------- 1 Bez 1 Bla 2 Bez 2 Blubb 3 Bez 3 Hollahü
Tabelle_Alt: ID BEZEICHNUNG NOCHEINFELD -------------------------------- 1 Bez Neu Hallo 2 Blubb Test 5 Bez 5 - |
1. Ergänzen der fehlenden Daten in Tabelle_Neu:
SQL-Anweisung
1: 2:
| INSERT INTO TABELLE_NEU (ID, BEZEICHNUNG, NOCHEINFELD) SELECT ID, BEZEICHNUNG, NOCHEINFELD FROM TABELLE_ALT TA WHERE NOT EXISTS(SELECT ID FROM TABELLE_NEU TN WHERE TN.ID = TA.ID); |
Tabelle_Neu sieht jetzt so aus:
Quelltext
1: 2: 3: 4: 5: 6:
| ID BEZEICHNUNG NOCHEINFELD -------------------------------- 1 Bez 1 Bla 2 Bez 2 Blubb 3 Bez 3 Hollahü 5 Bez 5 - |
2. Update der Daten:
SQL-Anweisung
1: 2: 3: 4:
| UPDATE TABELLE_NEU TN SET BEZEICHNUNG = (SELECT BEZEICHNUNG FROM TABELLE_ALT TA WHERE TA.ID = TN.ID), NOCHEINFELD = (SELECT NOCHEINFELD FROM TABELLE_ALT TA WHERE TA.ID = TN.ID), WHERE EXISTS(SELECT ID FROM TA WHERE TA.ID = TN.ID); |
Ergebnis:
Quelltext
1: 2: 3: 4: 5: 6:
| ID BEZEICHNUNG NOCHEINFELD -------------------------------- 1 Bez Neu Hallo 2 Blubb Test 3 Bez 3 Hollahü 5 Bez 5 - |
Hab jetzt alles aus dem Kopf getippt, aber im Prinzip müsste es so funktionieren.