Tengo un procedimiento almacenado que duplica un registro dado un id, y se duplica en todas las tablas donde aparezca ese id, y en las tablas con las que esta relacionado.
Para esto tengo varios cursores que duplican el registros el las diferentes tablas, y ahora ahorita lo hace bien, el problema comienza cuando ocurre algún error en la inserción en alguno de los cursores, es decir, si ya había ejecutado 2 correctamente, y en el tercero se provoca el error, la ejecución se detiene, pero lo que se inserto en los dos primeros cursores, ya no se deshace, y quiero que se ejecuten todos los cursores o no se ejecute ninguno si es que ocurre algún error.
MI código esta así actualmente, lo pongo incompleto ya que lo importante es lo delas transacciones.
Código MySQL:
Ver original