セーブポイントはあなたが望むことをしません。セーブポイントにロールバックすると、後でセーブポイントが作成されたかどうかに関係なく、そのセーブポイント以降のすべてがロールバックされます。
セーブポイントは「スタック」のようなものと考えてください。スタックの真ん中から何かを引き出すことはできません。必要なレイヤーまですべてを削除する必要があります。
あなたはおそらく自律的なトランザクションを探しています。使用するデータベースはどれもそれらをサポートしていません。 PostgreSQLでは、dblinkモジュールを使用してこれを回避し、データベースへの新しい接続を確立して、それを操作できます。 http://www.postgresql.org/docs/current/static/を参照してくださいdblink.html 。 MySQLまたはSQLiteが提供するソリューションはわかりませんが、探している用語がわかったので、Googleがお手伝いします。
可能であれば、このアプリケーション設計要件を回避する方法を見つけることをお勧めします。アプリケーションで2つのデータベース接続と2つのトランザクションを使用して、必要な処理を実行し、必要に応じて2つを調整します。