倒回交易

倒回交易會還原其變更。您可以倒回目前的整個交易,或者僅倒回至指定儲存點。

如果只要將目前的交易倒回指定的儲存點,請使用具備 TO SAVEPOINT 子句的 ROLLBACK 敘述句。

若要倒回整個目前交易,請使用 ROLLBACK 敘述句 (不含 TO SAVEPOINT 子句),或 (在 SQL Developer 環境中) 倒回變更圖示。

倒回整個目前的交易會執行下列作業:

只將目前交易倒回指定的儲存點會執行下列動作:

若要在 SQL Developer 中查看倒回的效果,您可能需要按一下重新整理圖示。

由於範例 3-7REGIONS 表格具有稱為「中東與非洲」的區域,以及稱為「非洲」的區域。範例 3-8 會更正這個問題 (非常簡單的交易),然後檢查變更,然後倒回交易並檢查倒回。

範例 3-8 倒回整個交易

交易前:

SELECT * FROM REGIONS
ORDER BY REGION_ID;

結果:

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

5 rows selected.

交易 (變更表格):

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

結果:

1 row updated.

檢查變更:

SELECT * FROM REGIONS
ORDER BY REGION_ID;

結果:

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

5 rows selected.

倒回交易:

ROLLBACK;

結果:

Rollback complete.

檢查倒回:

SELECT * FROM REGIONS
ORDER BY REGION_ID;

結果:

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

5 rows selected.

另請參閱:Oracle Database SQL Language Reference,瞭解 ROLLBACK 敘述句的相關資訊