多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# RELEASE SAVEPOINT ## Name RELEASE SAVEPOINT -- 删除一个先前定义的保存点 ## Synopsis ``` RELEASE [ SAVEPOINT ] _savepoint_name_ ``` ## 描述 `RELEASE SAVEPOINT`删除一个当前事务先前定义的保存点。 把一个保存点删除就令其无法作为回滚点使用,除此之外它没有其它用户可见的行为。 它并不能撤销在保存点建立起来之后执行的命令的影响。要撤销那些命令可以使用[ROLLBACK TO SAVEPOINT](#calibre_link-1303)。 在不再需要的时候删除一个保存点可以令系统在事务结束之前提前回收一些资源。 `RELEASE SAVEPOINT`也删除指定保存点之后建立的所有保存点。 ## 参数 `_savepoint_name_` 要删除的保存点的名字。 ## 注意 声明一个以前没有定义的保存点名字将导致错误。 如果事务在回滚状态,则不能释放保存点。 如果多个保存点拥有同样的名字,只有最近定义的那个才被释放。 ## 例子 建立并稍后删除一个保存点: ``` BEGIN; INSERT INTO table1 VALUES (3); SAVEPOINT my_savepoint; INSERT INTO table1 VALUES (4); RELEASE SAVEPOINT my_savepoint; COMMIT; ``` 上面的事务将同时插入 3 和 4 。 ## 兼容性 这条命令遵循SQL标准。标准规定关键字`SAVEPOINT`是必须的。 但PostgreSQL允许省略它。 ## 又见 [BEGIN](#calibre_link-493), [COMMIT](#calibre_link-494), [ROLLBACK](#calibre_link-495), [ROLLBACK TO SAVEPOINT](#calibre_link-1303), [SAVEPOINT](#calibre_link-1310)