START TRANSACTION,COMMIT和ROLLBACK语法
START TRANSACTION | BEGIN [WORK]
COMMIT [WORK] [AND [NO] CHAIN] [[NO] RELEASE]
ROLLBACK [WORK] [AND [NO] CHAIN] [[NO] RELEASE]
SET AUTOCOMMIT = {0 | 1}
START TRANSACTION或BEGIN语句可以开始一项新的事务。
COMMIT可以提交当前事务,是变更成为永久变更。
ROLLBACK可以回滚当前事务,取消其变更。
SET AUTOCOMMIT语句可禁用或启用默认的AUTOCOMMIT模式,用于当前连接。
缺省情况下GBase 8a运行在AUTOCOMMIT=1的模式下。这就意味着,当用户执行完一个更新时,GBase 8a将立刻将更新存储到磁盘上。
通过下面的命令,用户可以设置GBase 8a为非AUTOCOMMIT模式:
SET AUTOCOMMIT=0;
通过把AUTOCOMMIT变量设置为零,禁用AUTOCOMMIT模式之后,您必须使用COMMIT把变更存储到磁盘中,或着如果您想要放弃从事务开始进行以来做出的变更,使用ROLLBACK。
如果您想要对于一个单一系列的语句禁用AUTOCOMMIT模式,则您可以使用START TRANSACTION语句。
使用START TRANSACTION,AUTOCOMMIT仍然被禁用,直到您使用COMMIT或ROLLBACK结束事务为止。然后AUTOCOMMIT模式恢复到原来的状态。
注意:GBase 8a只支持INSERT级别的事务。