Makes changes to the database permanent, or terminates a user-defined transaction.
Syntax 1 – To end a transaction and makes all changes permanent
COMMIT [ WORK ]
Syntax 2 – To construct nested transactions
COMMIT TRAN[SACTION ] [ transaction-name ]
COMMIT
PRINT @@trancount BEGIN TRANSACTION PRINT @@trancount BEGIN TRANSACTION PRINT @@trancount COMMIT TRANSACTION PRINT @@trancount COMMIT TRANSACTION PRINT @@trancount go
COMMIT fails if the database server detects any invalid foreign keys. This makes it impossible to end a transaction with any invalid foreign keys. Usually, foreign key integrity is checked on each data manipulation operation. However, if the database option WAIT_FOR_COMMIT is set ON or a particular foreign key was defined with a CHECK ON COMMIT clause, the database server delays integrity checking until the COMMIT statement is executed.
The optional parameter transaction-name is the name assigned to this transaction. It must be a valid identifier. Use transaction names only on the outermost pair of nested BEGIN/COMMIT or BEGIN/ROLLBACK statements.
You can use a set of options to control the detailed behavior of the COMMIT statement. See COOPERATIVE_COMMIT_TIMEOUT Option, COOPERATIVE_COMMITS Option, DELAYED_COMMITS Option, and DELAYED_COMMIT_TIMEOUT Option. You can use the Commit connection property to return the number of commits on the current connection.