更新时间:2025-09-12 GMT+08:00
分享

ROLLBACK TO SAVEPOINT

功能描述

ROLLBACK TO SAVEPOINT用于回滚到一个保存点,隐含地删除所有在该保存点之后建立的保存点。

回滚所有指定保存点建立之后执行的命令。保存点仍然有效,并且需要时可以再次回滚到该点。

注意事项

  • 不能回滚到一个未定义的保存点,语法上会报错。
  • 使用ROLLBACK TO SAVEPOINT回滚到一个保存点。使用RELEASE SAVEPOINT删除一个保存点,但是保留该保存点建立后执行的命令的效果。

语法格式

ROLLBACK [ WORK | TRANSACTION ] TO [ SAVEPOINT ] savepoint_name;

参数说明

  • savepoint_name

    回滚截至的保存点

示例

--撤销 my_savepoint 建立之后执行的命令的影响。
m_db=# START TRANSACTION;
m_db=# SAVEPOINT my_savepoint;
m_db=# ROLLBACK TO SAVEPOINT my_savepoint;
m_db=# RELEASE SAVEPOINT my_savepoint;
m_db=# COMMIT;

相关链接

SAVEPOINTRELEASE SAVEPOINT

相关文档