跳转到内容

Savepoint

维基百科,自由的百科全书

这是Savepoint当前版本,由Pseudo Classes留言 | 贡献编辑于2021年12月5日 (日) 11:44 (加入{{Notability Unreferenced}}和{{Unreferenced}}標記)。这个网址是本页该版本的固定链接。

(差异) ←上一修订 | 最后版本 (差异) | 下一修订→ (差异)

savepoint是在数据库事务处理中实现“子事务”(subtransaction),也称为嵌套事务英语nested transaction的方法。事务可以回滚到savepoint而不影响savepoint创建前的变化。不需要放弃整个事务。

SQL语言国际标准中,SAVEPOINT name语句声明一个savepoint。ROLLBACK TO SAVEPOINT name语句回滚到savepoint。RELEASE SAVEPOINT name将使得命名的savepoint被放弃,但不影响其他savepoint。ROLLBACKCOMMIT导致所有savepoint被放弃。

支持savepoint的数据库有:PostgreSQLOracle数据库Microsoft SQL ServerMySQLDB2SQLite(从3.6.8)、FirebirdH2数据库Informix英语Informix(从11.50xC3)。