0 Tage Serie
sql / intermediate
Snippet

Verwaltung partieller Rücksetzungen mit Transaktions-Savepoints

Savepoints bieten eine feingliedrige Transaktionskontrolle, indem sie partielle Rücksetzungen auf bestimmte Marken innerhalb einer Transaktion ermöglichen, ohne die gesamte Operationsfolge abzubrechen.

snippet.sql
sql
1
2
3
4
5
6
START TRANSACTION;
UPDATE accounts SET balance = balance - 100.00 WHERE account_id = 101;
SAVEPOINT inventory_updated;
UPDATE accounts SET balance = balance + 100.00 WHERE account_id = 202;
ROLLBACK TO SAVEPOINT inventory_updated;
COMMIT;
Erklärung
1
START TRANSACTION;
Startet einen neuen expliziten Datenbank-Transaktionsblock.
2
SAVEPOINT inventory_updated;
Setzt einen benannten Wiederherstellungspunkt innerhalb der aktiven Transaktion.
3
ROLLBACK TO SAVEPOINT inventory_updated;
Macht Änderungen nach dem Savepoint rückgängig, während vorherige Operationen erhalten bleiben.
4
COMMIT;
Speichert alle vor dem Savepoint ausgeführten Änderungen dauerhaft.