@@TRANCOUNT (Transact-SQL)
Область применения: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure хранилище платформы Аналитики Azure Synapse Analytics (PDW) в Microsoft Fabric
Возвращает число инструкций BEGIN TRANSACTION, выполненных в текущем соединении.
Соглашения о синтаксисе Transact-SQL
Синтаксис
@@TRANCOUNT
Примечание.
Этот синтаксис не поддерживается бессерверным пулом SQL в Azure Synapse Analytics.
Типы возвращаемых данных
integer
Замечания
Оператор BEGIN TRANSACTION увеличивает @@TRANCOUNT на 1. Инструкция ROLLBACK TRANSACTION уменьшает значение @@TRANCOUNT до 0 (исключение — параметр savepoint_name у ROLLBACK TRANSACTION, который не влияет на значение @@TRANCOUNT). COMMIT TRANSACTION или COMMIT WORK уменьшается @@TRANCOUNT на 1.
Примеры
А. Отображение результатов выполнения инструкций BEGIN и COMMIT
В следующем примере демонстрируется результат использования вложенных инструкций BEGIN
и COMMIT
для переменной @@TRANCOUNT
.
PRINT @@TRANCOUNT
-- The BEGIN TRAN statement will increment the
-- transaction count by 1.
BEGIN TRAN
PRINT @@TRANCOUNT
BEGIN TRAN
PRINT @@TRANCOUNT
-- The COMMIT statement will decrement the transaction count by 1.
COMMIT
PRINT @@TRANCOUNT
COMMIT
PRINT @@TRANCOUNT
--Results
--0
--1
--2
--1
--0
B. Отображение результатов выполнения инструкций BEGIN и ROLLBACK
В следующем примере демонстрируется результат использования вложенных инструкций BEGIN TRAN
и ROLLBACK
для переменной @@TRANCOUNT
.
PRINT @@TRANCOUNT
-- The BEGIN TRAN statement will increment the
-- transaction count by 1.
BEGIN TRAN
PRINT @@TRANCOUNT
BEGIN TRAN
PRINT @@TRANCOUNT
-- The ROLLBACK statement will clear the @@TRANCOUNT variable
-- to 0 because all active transactions will be rolled back.
ROLLBACK
PRINT @@TRANCOUNT
--Results
--0
--1
--2
--0
См. также
BEGIN TRANSACTION (Transact-SQL)
COMMIT TRANSACTION (Transact-SQL)
ROLLBACK TRANSACTION (Transact-SQL)
Системные функции (Transact-SQL)