Bei den zu löschenden ist es ja klar.
Verstehe ich das richtig, ich muss zuerst prüfen, welche Zahlenwerte der zu aktualisierende Datensätz nicht mehr hat, diese in der Details-Tabelle ermitteln und löschen? Wird es nicht einfacher und auch schneller, alle Werte des Datensasatzes aus der Tabelle zu löschen und die neue zu inserieren?
Jein
in diesem Fall ist es aber wahrscheinlich egal
Wichtig hierbei ist aber auf jeden Fall das Übertragen innerhalb einer Transaktion durchzuführen.
Delphi-Quellcode:
ADOConnection1.BeginTrans; // Transaktion starten
{... Daten zur Datenbank übertragen ...}
ADOConnection1.Commit; // Transaktion abschließen
Alternativ zum Löschen und wieder komplett schreiben kann man auch mit einer temporären Tabelle arbeiten.
In diese trägt man alle Daten ein und macht dann den Abgleich mit
SQL.
Dieses ist wesentlich ressourcenschonender, da hierbei nur die Veränderungen in der Tabelle gespeichert/gelöscht werden.
Die Transaktion bleibt aber auch hierbei Pflicht.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ea 0a 4c 14 0d b6 3a a4 c1 c5 b9
dc 90 9d f0 e9 de 13 da 60)