Welche Transaktionsverwaltungsbefehle kennen Sie?
sobes.tech KI
Antwort von AI
BEGIN (kann implizit sein), COMMIT, ROLLBACK.
-
BEGIN: Startet eine neue Transaktion. Ist optional für den ersten
DML-Operator in einer Sitzung, da die Transaktion implizit gestartet wird.BEGIN TRANSACTION; -
COMMIT: Speichert alle Änderungen, die in der aktuellen Transaktion gemacht wurden, und beendet sie.
COMMIT; -
ROLLBACK: Macht alle Änderungen rückgängig, die in der aktuellen Transaktion gemacht wurden, und beendet sie.
ROLLBACK;
Einige Datenbanken unterstützen auch:
-
SAVEPOINT: Setzt einen Speicherpunkt innerhalb der aktuellen Transaktion. Ermöglicht das Zurücksetzen zu diesem Punkt, ohne die gesamte Transaktion abzubrechen.
SAVEPOINT my_savepoint; -
ROLLBACK TO SAVEPOINT: Macht die Änderungen bis zu dem angegebenen Speicherpunkt rückgängig.
ROLLBACK TO SAVEPOINT my_savepoint; -
RELEASE SAVEPOINT: Entfernt den Speicherpunkt.
RELEASE SAVEPOINT my_savepoint;
Beispiel für eine Befehlssequenz:
BEGIN; -- Transaktion starten
INSERT INTO users (name) VALUES ('Alice'); -- Operation ausführen
SAVEPOINT before_update; -- Speicherpunkt setzen
UPDATE products SET price = price * 1.1 WHERE id = 1; -- weitere Operation
-- Wenn bei der Aktualisierung etwas schief läuft, zum Speicherpunkt zurückkehren
-- ROLLBACK TO SAVEPOINT before_update;
-- Wenn alles gut läuft, Änderungen bestätigen
COMMIT; -- Transaktion beenden und Änderungen speichern
-- Wenn die gesamte Transaktion nach BEGIN abgebrochen werden soll
-- ROLLBACK;
Das Verständnis dieser Befehle ist entscheidend, um die Datenintegrität in Anwendungen, die mit relationalen Datenbanken arbeiten, zu gewährleisten.