---
title: "释放保存点 - OceanBase 数据库 V4.6.0 | OceanBase 文档中心"
description: 释放保存点 标记保存点后，如果不再需要某个保存点，也可以释放保存点。 前提条件 请确认已标记保存点，具体操作请参见 标记保存点 。 释放保存点 可以使用以下语句，释放保存点。 RELEASE SAVEPOINT pointname; 注意 当 RELEASE SAVEPOINT 语句执行成功后，被释放的保存点不能再回…
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 4.6.0

# 释放保存点

更新时间：2026-07-15 15:16:39

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.6.0/zh-CN/300.develop/100.application-development-of-mysql-mode/600.transaction-in-develop-of-mysql-mode/300.transaction-savepoints-of-mysql-mode/300.release-a-savepoint-of-mysql-mode.md)  

标记保存点后，如果不再需要某个保存点，也可以释放保存点。

## 前提条件

请确认已标记保存点，具体操作请参见 [标记保存点](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005683017)。

## 释放保存点

可以使用以下语句，释放保存点。

```sql
RELEASE SAVEPOINT pointname;

```

#### 注意

当 `RELEASE SAVEPOINT` 语句执行成功后，被释放的保存点不能再回滚到指定的保存点以及 `RELEASE SAVEPOINT` 语句与指定的保存点之间的任何其他保存点。

以下示例展示了释放回滚点 `ru` 后，被释放的保存点以及 `RELEASE SAVEPOINT` 语句与该保存点之间的任何其他保存点均不再能回滚。

1. 开启一个事务，并标记多个保存点信息。

   ```sql
   obclient [test]> SET SESSION autocommit=0;
   Query OK, 0 rows affected

   obclient [test]> BEGIN;
   Query OK, 0 rows affected

   obclient [test]> SELECT * FROM ordr;
   +----+------+-------+---------------------+
   | id | name | value | gmt_create          |
   +----+------+-------+---------------------+
   |  1 | CN   | 10001 | 2022-10-19 14:51:12 |
   |  2 | US   | 10002 | 2022-10-19 14:51:12 |
   |  3 | EN   | 10003 | 2022-10-19 14:51:12 |
   |  4 | JP   |  NULL | 2022-10-19 14:51:44 |
   |  5 | CN   |  NULL | 2022-10-19 14:53:56 |
   +----+------+-------+---------------------+
   5 rows in set

   obclient [test]> INSERT INTO ordr(id, name) VALUES(6,'FR');
   Query OK, 1 row affected

   obclient [test]> SAVEPOINT fr;
   Query OK, 0 rows affected

   obclient [test]> INSERT INTO ordr(id, name) VALUES(7,'RU');
   Query OK, 1 row affected

   obclient [test]>  SAVEPOINT ru;
   Query OK, 0 rows affected

   obclient [test]> INSERT INTO ordr(id, name) VALUES(8,'CA');
   Query OK, 1 row affected

   obclient [test]> SAVEPOINT ca;
   Query OK, 0 rows affected

   ```
 2. 查看表中的数据。

   事务未提交前，可以看到事务中未提交的所有数据。

   ```sql
   obclient [test]> SELECT * FROM ordr;
   +----+------+-------+---------------------+
   | id | name | value | gmt_create          |
   +----+------+-------+---------------------+
   |  1 | CN   | 10001 | 2022-10-19 14:51:12 |
   |  2 | US   | 10002 | 2022-10-19 14:51:12 |
   |  3 | EN   |  1003 | 2022-10-19 14:51:12 |
   |  4 | JP   |  NULL | 2022-10-19 14:51:44 |
   |  5 | CN   |  NULL | 2022-10-19 14:53:56 |
   |  6 | FR   |  NULL | 2022-10-19 15:01:39 |
   |  7 | RU   |  NULL | 2022-10-19 15:01:50 |
   |  8 | CA   |  NULL | 2022-10-19 15:02:15 |
   +----+------+-------+---------------------+
   8 rows in set

   ```
 3. 释放保存点 `ru`。

   ```sql
   obclient [test]> RELEASE SAVEPOINT ru;
   Query OK, 0 rows affected

   ```
 4. 分别回滚到保存 `ru` 和 `ca`，发现保存点均不存在。

   ```sql
   obclient [test]> rollback to savepoint ru;
   ERROR 1305 (42000): savepoint does not exist

   obclient [test]> rollback to savepoint ca;
   ERROR 1305 (42000): savepoint does not exist

   ```

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
