TechNet
Expand All
Collapse the table of content
Expand the table of content
Expand Minimize
The document is archived and information here might be outdated

@@TRANCOUNT (Transact-SQL)

Returns the number of active transactions for the current connection.

Topic link icon Transact-SQL Syntax Conventions


@@TRANCOUNT

integer

The BEGIN TRANSACTION statement increments @@TRANCOUNT by 1. ROLLBACK TRANSACTION decrements @@TRANCOUNT to 0, except for ROLLBACK TRANSACTION savepoint_name, which does not affect @@TRANCOUNT. COMMIT TRANSACTION or COMMIT WORK decrement @@TRANCOUNT by 1.

This example uses @@TRANCOUNT to test for open transactions that should be committed.

USE AdventureWorks;
GO
BEGIN TRANSACTION;
GO
UPDATE Person.Contact
    SET LastName = UPPER(LastName)
    WHERE LastName = 'Wood';
GO
IF @@TRANCOUNT > 0
BEGIN
    PRINT N'A transaction needs to be rolled back.';
    ROLLBACK TRANSACTION;
END
Show:
© 2016 Microsoft