ABORT
停止当前正在运行的事务,并放弃该事务执行的所有更新。ABORT 对已完成的事务没有任何效果。
此命令执行与 ROLLBACK 命令相同的功能。有关信息,请参阅 ROLLBACK。
语法
ABORT [ WORK | TRANSACTION ]
参数
- WORK
-
可选关键字。
- TRANSACTION
-
可选关键字;WORK 和 TRANSACTION 同义。
示例
以下示例创建一个表,然后启动将数据插入到表的事务。然后,ABORT 命令将回滚数据插入操作,以便将表保持为空表。
以下命令创建一个名为 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)
现在,此命令将数据更改回滚到事务开始的位置:
abort;
现在,从表中选择数据时,显示这是一个空表:
select * from movie_gross; name | gross ------+------- (0 rows)