3つのSQLタイプ(MySql、SQLite、PostgreSQL)の場合、セーブポイントを同じように処理する必要があります。
これで、1つの大きなトランザクションでデータベース内のさまざまなエントリを変更するアプリケーションができました。プログラムの特別な動作のために、ネストされたトランザクションが必要です。
だから問題は、私が次のようなものを作成した場合です:
BEGIN TRANSACTION;
--random insert/update statements
SET SAVEPOINT sp1;
--more random inserts/updates
SET SAVEPOINT sp2;
--inserts n stuff
(はい、構文は正しくない可能性があります。これは単なる例です)
したがって、2つの保存ポイント間でロールバックを実行でき、後で挿入/更新をロールバックせずsp1
に実行できるかどうかを知りたいですか?sp2
sp2