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.