保存点

保存点是事务内的一个特殊标记,允许在回退该保存点之后执行命令。事务恢复到该保存点之前的状态。

Vertica 支持以下两种类型的保存点:

  • 隐式保存点是在事务内成功执行每个命令之后自动建立的。此保存点用于回退下一个语句(如果该语句返回一个错误)。事务会保留一个隐式保存点,该保存点会通过每个成功的语句向前滚动。隐式保存点只能用于 Vertica,不能被直接引用。

  • 给定保存点是您通过 SAVEPOINT 语句在事务内设置的带标签的标记。随后可以通过 RELEASE SAVEPOINT(销毁保存点)和 ROLLBACK TO SAVEPOINT(回退在该保存点之后执行的所有操作)在同一事务中引用某个给定保存点。给定保存点在嵌套事务中尤为有用:可根据需要整体回退以某个保存点开始的嵌套事务。