En Firebird no existe. Toda la ejecución del procedimiento se ejecuta dentro de una misma transacción.
De todos modos, podrías tratar de que ese procedimiento realizara una parte de las insersiones y devolviera cuantas hizo.
Si hizo más de una, cierras la transaccion, abres una nueva y lo vuelves a lanzar.
Cuando devuelva 0, es que no hizo nada, porque no queda nada más para hacer.
De este modo, las transacciones serán más cortas (hecho deseable) y guardarán menos información para el caso de que fallen y haya que hacer un rollback.
Lo malo es que si falla después de la primera iteración, deberás deshacer los cambios de lo que haya hecho antes manualmente.
|