В стандартном SQL вы (почти) всегда находитесь внутри транзакции.Если вы делаете COMMIT или ROLLBACK, следующий оператор запускает новую транзакцию.Поэтому, если вы хотите, чтобы изменения вступили в силу, вы должны их УДАЛИТЬ.
Если у вас включен AutoCommit, то каждый оператор является одноэтапной транзакцией и автоматически фиксируется, если он успешен, или откатывается, если онпроисходит сбой.
Когда вы выключаете AutoCommit, вы должны выполнить COMMIT, чтобы изменения базы данных вступили в силу.
Некоторые СУБД имеют незначительные изменения в этой теме.
В частности, Informix, имеет один режим базы данных, где AutoCommit включен, пока вы не сделаете явное НАЧАЛО [РАБОТЫ];тогда вы находитесь в транзакции, пока не выполните COMMIT [WORK] или ROLLBACK [WORK].Он также имеет «MODE ANSI», который ведет себя как в стандартном SQL;и у него есть режим без журнала, где вообще нет транзакций.
С учетом всего сказанного, показанные вами утверждения не являются самоочевидными, которые действительно нуждаются в транзакционной поддержке.Это, как правило, операторы DML (SELECT, INSERT, DELETE, UPDATE, MERGE и т. Д.), А иногда и операторы DDL, которые требуют поддержки транзакций.Некоторые СУБД не позволяют откатывать операторы DDL (Oracle);другие делают (Informix).