本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
停止目前交易,並捨棄該交易所做的所有更新。
此命令會執行與 ABORT 命令相同的功能。
語法
ROLLBACK [ WORK | TRANSACTION ]
參數
- WORK
-
選用的關鍵字。預存程序內不支援使用此關鍵字。
- TRANSACTION
-
選用的關鍵字。WORK 和 TRANSACTION 為同義詞,預存程序內不支援使用這兩個關鍵字。
如需在預存程序內使用 ROLLBACK 的相關資訊,請參閱管理交易。
範例
下列範例會建立資料表,然後開始交易,將資料插入資料表中。接著 ROLLBACK 命令就會轉返資料插入操作,而使資料表變成空白。
以下命令會建立名為 MOVIE_GROSS 的範例資料表:
create table movie_gross( name varchar(30), gross bigint );
下一個命令集會開始交易,將兩個資料列插入資料表中:
begin;
insert into movie_gross values ( 'Raiders of the Lost Ark', 23400000);
insert into movie_gross values ( 'Star Wars', 10000000 );
接著,以下命令會從資料表中選取資料,表示該資料已成功插入:
select * from movie_gross;
命令輸出會顯示這兩個資料列都已成功插入:
name | gross
-------------------------+----------
Raiders of the Lost Ark | 23400000
Star Wars | 10000000
(2 rows)
現在這個命令會將資料變更轉返為交易開始時的狀態:
rollback;
從資料表選取資料現在會顯示空白資料表:
select * from movie_gross;
name | gross
------+-------
(0 rows)