Este caso de uso particular se destaca en "Comprender la confirmación automática":
El control total del comportamiento de "compromiso automático" está disponible mediante el Connection.execution_options() generativo método proporcionado en Connection , Engine , Executable , usando el indicador de "autocommit" que activará o desactivará la autocommit para el alcance seleccionado. Por ejemplo, un text() construcción que representa un procedimiento almacenado que confirma podría usarlo para que una declaración SELECT emita un COMMIT:
engine.execute(text("SELECT my_mutating_procedure()").execution_options(autocommit=True))
La forma en que la confirmación automática de SQLAlchemy detecta las operaciones de cambio de datos es que compara la declaración con un patrón, buscando cosas como ACTUALIZAR, ELIMINAR y similares. Es imposible que detecte si una función/procedimiento almacenado realiza mutaciones, por lo que se proporciona un control explícito sobre la confirmación automática.
La secuencia se incrementa incluso en caso de falla porque nextval() y setval() las llamadas nunca se revierten.