Implicit Transactions
When a connection is operating in implicit transaction mode, Microsoft® SQL Server™ automatically starts a new transaction after the current transaction is committed or rolled back. You do nothing to delineate the start of a transaction; you only commit or roll back each transaction. Implicit transaction mode generates a continuous chain of transactions.
After implicit transaction mode has been set on for a connection, SQL Server automatically starts a transaction when it first executes any of these statements:
ALTER TABLE | INSERT |
CREATE | OPEN |
DELETE | REVOKE |
DROP | SELECT |
FETCH | TRUNCATE TABLE |
GRANT | UPDATE |
The transaction remains in effect until you issue a COMMIT or ROLLBACK statement. After the first transaction is committed or rolled back, SQL Server automatically starts a new transaction the next time any of these statements are executed by the connection. SQL Server keeps generating a chain of implicit transactions until implicit transaction mode is turned off.
Implicit transaction mode is set either using the Transact-SQL SET statement, or through database API functions and methods.