本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
ROLLBACK
停止目前交易,並捨棄該交易所做的所有更新。
此命令會執行與 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)