Top
首页 > 老文章 > 正文

SAVEPOINT和ROLLBACK TO SAVEPOINT语法

SAVEPOINT和ROLLBACK TO SAVEPOINT语法
发布时间:2008-03-12 04:48        来源:        作者:李明昭
【赛迪网-IT技术报道】SAVEPOINT和ROLLBACK TO SAVEPOINT语法:
SAVEPOINT identifier 

ROLLBACK [WORK] TO SAVEPOINT identifier

RELEASE SAVEPOINT identifier
InnoDB支持SQL语句SAVEPOINT, ROLLBACK TO SAVEPOINT, RELEASE SAVEPOINT和自选的用于ROLLBACK的WORK关键词。 SAVEPOINT语句用于设置一个事务保存点,带一个标识符名称。如果当前事务有一个同样名称的保存点,则旧的保存点被删除,新的保存点被设置。 ROLLBACK TO SAVEPOINT语句会向以命名的保存点回滚一个事务。如果在保存点被设置后,当前事务对行进行了更改,则这些更改会在 回滚中被撤销。但是,InnoDB不会释放被存储在保存点之后的存储器中的行锁定。(注意,对于新插入的行,锁定信息被存储在行中的事务ID承载;锁定没有被分开存储在存储器中。在这种情况下,行锁定在撤销中被释放。)在被命名的保存点之后设置的保存点被删除。 如果语句返回以下错误,则意味着不存在带有指定名称的保存点:
ERROR 1181: Got error 153 during ROLLBACK
RELEASE SAVEPOINT语句会从当前事务的一组保存点中删除已命名的保存点。不出现提交或 回滚。如果保存点不存在,会出现错误。 如果您执行COMMIT或执行不能命名保存点的ROLLBACK,则当前事务的所有保存点被删除。 (责任编辑:卢兆林)
加载更多

专题访谈

合作站点
stat