Този конкретен случай на употреба е посочен в „Разбиране на Autocommit“:
Пълният контрол върху поведението на „автоматично завършване“ е достъпен с помощта на генеративния
Connection.execution_options()метод, предоставен наConnection,Engine,Executable, използвайки флага „autocommit“, който ще включи или изключи автоматичното завършване за избрания обхват. Например,text()конструкция, представляваща съхранена процедура, която записва, може да я използва, така че оператор SELECT да издаде COMMIT:engine.execute(text("SELECT my_mutating_procedure()").execution_options(autocommit=True))
Начинът, по който SQLAlchemy autocommit открива операции за промяна на данни е, че съпоставя израза с шаблон, търсейки неща като UPDATE, DELETE и други подобни. Невъзможно е да открие дали съхранена функция/процедура извършва мутации и така се предоставя изричен контрол върху автоматичното извършване.
Последователността се увеличава дори при неуспех, защото nextval() и setval() повикванията никога не се връщат назад.