In ANSI mode, transactions are always implicitly started and explicitly closed.
A transaction initiates when one of the following happens:
- The first SQL statement in a session executes.
- The first statement following the close of a transaction executes.
The COMMIT or ROLLBACK/ABORT statements close a transaction.
If a transaction includes a DDL statement, it must be the last statement in the transaction. DATABASE and SET SESSION are DDL statements.
If a session terminates with an open transaction, any effects of that transaction are rolled back.
Two-Phase Commit
Sessions in ANSI session mode do not support Two-Phase Commit (2PC). If an attempt is made to use the 2PC protocol in ANSI session mode, the Logon process aborts and an error returns to the requestor.