Rollback für Transaktionen durchführen

Durch Rollback einer Transaktion werden deren Änderungen rückgängig gemacht. Sie können ein Rollback der gesamten aktuellen Transaktion ausführen, oder Sie können das Rollback nur bis zu einem angegebenen Savepoint ausführen.

Um einen ROLLBACK der aktuellen Transaktion nur bis zu einem angegebenen SAVEPOINT durchzuführen, müssen Sie die Anweisung ROLLBACK mit der Klausel TO SAVEPOINT verwenden.

Um die gesamte aktuelle Transaktion zurückzusetzen, verwenden Sie entweder die ROLLBACK-Anweisung ohne die TO SAVEPOINT-Klausel oder (in der SQL Developer-Umgebung) das Symbol Änderungen zurücksetzen.

Wenn Sie die gesamte aktuelle Transaktion zurücksetzen, geschieht Folgendes:

Ein Rollback der aktuellen Transaktion nur bis zum angegebenen Savepoint führt folgende Aktionen aus:

Um die Auswirkungen eines Rollbacks in SQL Developer anzuzeigen, müssen Sie möglicherweise auf das Symbol Aktualisieren klicken.

Als Ergebnis des Beispiels in Beispiel 3-7 verfügt das REGIONS über eine Region namens "Middle East and Afrika" und eine Region namens "Africa". Beispiel 3-8 korrigiert dieses Problem (eine sehr einfache Transaktion) und überprüft die Änderung, führt dann jedoch ein Rollback der Transaktion aus und überprüft das Rollback.

Beispiel 3-8: Rollback einer gesamten Transaktion ausführen

Vor der Transaktion:

SELECT * FROM REGIONS
ORDER BY REGION_ID;

Ergebnis:

REGION_ID REGION_NAME
---------- -------------------------
         1 Europe
         2 Americas
         3 Asia
         4 Middle East and Africa
         5 Africa

5 rows selected.

Transaktion (Tabelle ändern):

UPDATE REGIONS
SET REGION_NAME = 'Middle East'
WHERE REGION_NAME = 'Middle East and Africa';

Ergebnis:

1 row updated.

Änderung überprüfen:

SELECT * FROM REGIONS
ORDER BY REGION_ID;

Ergebnis:

REGION_ID REGION_NAME
---------- -------------------------
         1 Europe
         2 Americas
         3 Asia
         4 Middle East
         5 Africa

5 rows selected.

Rollback der Transaktion ausführen:

ROLLBACK;

Ergebnis:

Rollback complete.

Rollback überprüfen:

SELECT * FROM REGIONS
ORDER BY REGION_ID;

Ergebnis:

REGION_ID REGION_NAME
---------- -------------------------
         1 Europe
         2 Americas
         3 Asia
         4 Middle East and Africa
         5 Africa

5 rows selected.

Siehe auch: Oracle Database SQL Language Reference für Informationen zur ROLLBACK-Anweisung