IT用語集 › データベース › セーブポイント

セーブポイント

データベース Svenska → 更新: 2026-10-21

トランザクションの途中に付ける名前付きの地点。トランザクション全体を中止せず、そこまで巻き戻せる。部分的な取り消しを可能にし、ネストトランザクションの土台となる。

仕組みは単純だ。SAVEPOINT name で目印を置き、ROLLBACK TO SAVEPOINT name でそれ以降を取り消しつつトランザクションは生かし、RELEASE SAVEPOINT で目印を外す。長いトランザクションの中で危険な操作を試し、失敗したらその部分だけ戻す、あるいは一つの副処理のエラーを処理しても他の作業を失わない、といった使い方をする。ORMやドライバーは内側のトランザクションをセーブポイントに置き換えて「ネストトランザクション」を模倣している。SQL標準で、PostgreSQL、MySQL/InnoDB、Oracleが対応し、SQL Serverは独自の構文を持つ。プロシージャやエラー処理で重要だ。全体を中止する完全なロールバックとは別物で、分散トランザクションやMVCCスナップショットとも関係が深い。

← 用語集に戻る