sql / intermediate
Snippet
Sicherstellung der Datenintegrität durch Atomarität mit expliziten Transaktionen
Transaktionen bündeln mehrere SQL-Datenänderungsanweisungen in eine einzige, unteilbare logische Arbeitseinheit. Durch explizites Committen am Ende stellt ANSI-SQL sicher, dass entweder alle Operationen erfolgreich angewendet werden oder keine Änderungen bestehen bleiben.
snippet.sql
sql
1
2
3
4
5
6
7
8
9
UPDATE accountsSET balance = balance - 500WHERE account_id = 101;UPDATE accountsSET balance = balance + 500WHERE account_id = 202;COMMIT;
Erklärung
1
UPDATE accounts
Startet die erste Kontostandsänderung innerhalb des impliziten Transaktionsblocks.
2
SET balance = balance - 500
Zieht den Betrag vom Quellkonto ab.
3
WHERE account_id = 101;
Richtet sich an die spezifische Sender-Konto-ID.
4
UPDATE accounts
Startet die zweite Änderungsanweisung als Teil derselben atomaren Einheit.
5
SET balance = balance + 500
Schreibt den Betrag dem Zielkonto gut.
6
WHERE account_id = 202;
Richtet sich an die spezifische Empfänger-Konto-ID.
7
COMMIT;
Wendet alle ausstehenden Änderungen der aktuellen Transaktion dauerhaft in der Datenbank an.