sql >> Base de Datos >  >> RDS >> Mysql

¿Reversión de transacciones anidadas entre dos puntos de guardado?

Los puntos de guardado no harán lo que usted quiere. Cuando revierte a un punto de guardado, todo lo que sigue a ese punto de guardado se revierte, independientemente de si se crearon puntos de guardado posteriores.

Piense en los puntos de guardado como una "pila". No puedes sacar algo del medio de la pila, tienes que quitar todo hasta la capa que quieras.

Probablemente esté buscando transacciones autónomas. Ninguna de las bases de datos que desea utilizar las admite. En PostgreSQL puede solucionar esto usando el módulo dblink para hacer una nueva conexión a la base de datos y trabajar con ella; consulte http://www.postgresql.org/docs/current/static/ dblink.html . No sé qué soluciones ofrecen MySQL o SQLite, pero Google te ayudará ahora que sabes el término que estás buscando.

Le recomiendo que encuentre una manera de evitar este requisito de diseño de la aplicación si es posible. Haga que su aplicación use dos conexiones de base de datos y dos transacciones para hacer lo que necesita, encargándose de coordinar las dos según sea necesario.