更新时间:2024-11-12 GMT+08:00
ROLLBACK
功能描述
回滚当前事务并取消当前事务中的所有更新。
在事务运行的过程中发生了某种故障,事务不能继续执行,系统将事务中对数据库的所有已完成的操作全部撤销,数据库状态回到事务开始时。
注意事项
如果不在一个事务内部发出ROLLBACK就不会有问题,但是将抛出一个NOTICE信息。
语法格式
ROLLBACK [ WORK | TRANSACTION ];
参数说明
WORK | TRANSACTION
可选关键字。除了增加可读性,没有任何其他作用。
示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
--创建表。 gaussdb=# CREATE TABLE test (id int, name text); --开启一个事务。 gaussdb=# START TRANSACTION; --修改表结构。 gaussdb=# ALTER TABLE test ADD COLUMN score int; --查看表结构。 gaussdb=# \d test; Table "public.test" Column | Type | Modifiers --------+---------+----------- id | integer | name | text | score | integer | --回滚。 gaussdb=# ROLLBACK; --表结构恢复初始状态。 gaussdb=# \d test; Table "public.test" Column | Type | Modifiers --------+---------+----------- id | integer | name | text | --删除test表。 gaussdb=# DROP TABLE test; |
相关链接
父主题: R