Savepoint

維基百科,自由的百科全書

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)。