Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
ROLLBACK
Bricht die aktuelle Transaktion ab und verwirft alle Aktualisierungen, die durch diese Transaktion ausgeführt wurden.
Dieser Befehl hat die gleiche Funktion wie der Befehl ABORT.
Syntax
ROLLBACK [ WORK | TRANSACTION ]
Parameter
- WORK
-
Optionales Schlüsselwort. Dieses Schlüsselwort wird in einer gespeicherten Prozedur nicht unterstützt.
- TRANSACTION
-
Optionales Schlüsselwort. WORKund TRANSACTION sind Synonyme. Beide werden in einer gespeicherten Prozedur nicht unterstützt.
Hinweise zur Verwendung ROLLBACK innerhalb einer gespeicherten Prozedur finden Sie unterVerwalten von Transaktionen.
Beispiel
Im folgenden Beispiel werden eine Tabelle erstellt und eine Transaktion gestartet, bei der Daten in die Tabelle eingefügt werden. Der ROLLBACK Befehl macht dann die Dateneinfügung rückgängig, sodass die Tabelle leer bleibt.
Mit dem folgenden Befehl wird eine Beispieltabelle mit dem Namen MOVIE _ erstelltGROSS:
create table movie_gross( name varchar(30), gross bigint );
Mit dem nächsten Satz von Befehlen wird eine Transaktion gestartet, die zwei Datenzeilen in die Tabelle einfügt:
begin; insert into movie_gross values ( 'Raiders of the Lost Ark', 23400000); insert into movie_gross values ( 'Star Wars', 10000000 );
Als Nächstes werden mit dem folgenden Befehl die Daten aus der Tabelle ausgewählt, um zu zeigen, dass sie erfolgreich eingefügt wurden:
select * from movie_gross;
Die Befehlsausgabe zeigt, dass beide Zeilen erfolgreich eingefügt wurden:
name | gross -------------------------+---------- Raiders of the Lost Ark | 23400000 Star Wars | 10000000 (2 rows)
Mit diesem Befehl werden nun die Datenänderungen auf den Zeitpunkt zurückgesetzt, an dem die Transaktion gestartet wurde:
rollback;
Wenn nun Daten aus der Tabelle ausgewählt werden, wird eine leere Tabelle gezeigt:
select * from movie_gross; name | gross ------+------- (0 rows)