# RELEASE SAVEPOINT
#### 功能描述
RELEASE SAVEPOINT删除当前事务先前定义的保存点。
保存点删除后便无法再作为回滚点使用，除此之外没有其它用户可见的行为。删除保存点并不能撤销在保存点建立起来之后执行的命令的影响。要撤销那些命令可以使用ROLLBACK TO SAVEPOINT 。在不再需要的时候删除保存点可以令系统在事务结束之前提前回收一些资源。
RELEASE SAVEPOINT也删除所有在指定的保存点建立之后的所有保存点。
#### 注意事项
- 不能RELEASE一个没有定义的保存点，语法上会报错。
- 如果事务在回滚状态，则不能释放保存点。
- 如果多个保存点拥有同样的名字，只释放最近定义的保存点。
 
#### 语法格式
```
RELEASE [ SAVEPOINT ] savepoint_name;
```
#### 参数说明
**savepoint_name**
要删除的保存点的名字。
#### 示例
准备数据：
```
DROP SCHEMA IF EXISTS tpcds CASCADE;
CREATE SCHEMA tpcds;
CREATE TABLE tpcds.table1 (a int);
```
建立并随后销毁一个保存点：
```
BEGIN;
    INSERT INTO tpcds.table1 VALUES (3);
    SAVEPOINT my_savepoint;
    INSERT INTO tpcds.table1 VALUES (4);
    RELEASE SAVEPOINT my_savepoint;
COMMIT;
```
#### 相关链接
[SAVEPOINT](https://support.huaweicloud.com/sqlreference-dws/dws_06_0263.html)，[ROLLBACK TO SAVEPOINT](https://support.huaweicloud.com/sqlreference-dws/dws_06_0269.html)
