@@TRANCOUNT (Transact-SQL)
適用於:Microsoft Fabric 中的 SQL Server Azure SQL 資料庫 Azure SQL 受控執行個體 Azure Synapse Analytics Analytics Platform System (PDW) 倉儲
傳回已經針對目前連接進行的 BEGIN TRANSACTION 陳述式數目。
Syntax
@@TRANCOUNT
注意
Azure Synapse Analytics 的無伺服器 SQL 集區不支援此語法。
傳回型別
integer
備註
BEGIN TRANSACTION 陳述式會遞增 @@TRANCOUNT,遞增量為 1。 ROLLBACK TRANSACTION 會將 @@TRANCOUNT 遞減到 0,ROLLBACK TRANSACTION savepoint_name 除外,其不影響 @@TRANCOUNT。 COMMIT TRANSACTION 或 COMMIT WORK 會遞減 @@TRANCOUNT,遞減量為 1。
範例
A. 顯示 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)