ROLLBACK - Amazon Redshift

Amazon Redshift 自 2025 年 11 月 1 日起不再支援建立新的 Python UDF。如果您想要使用 Python UDF,請在該日期之前建立 UDF。現有 Python UDF 將繼續正常運作。如需詳細資訊,請參閱部落格文章

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)