次の方法で共有


@@TRANCOUNT (Transact-SQL)

現在の接続に対してアクティブなトランザクション数を返します。

トピック リンク アイコンTransact-SQL 構文表記規則

構文

@@TRANCOUNT

戻り値の型

integer

解説

BEGIN TRANSACTION ステートメントを実行すると、@@TRANCOUNT は 1 つずつ増加します。ROLLBACK TRANSACTION ステートメントを実行すると、@@TRANCOUNT は 1 つずつ減少し、最終的には 0 になります。ただし、ROLLBACK TRANSACTION savepoint_name は例外で、このステートメントは @@TRANCOUNT に影響しません。COMMIT TRANSACTION または COMMIT WORK を実行すると、@@TRANCOUNT は 1 ずつ減少します。

次の例では、@@TRANCOUNT を使用して、開いているトランザクションでコミットする必要があるものがあるかどうかを調べます。

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

参照

関連項目

BEGIN TRANSACTION (Transact-SQL)
COMMIT TRANSACTION (Transact-SQL)
ROLLBACK TRANSACTION (Transact-SQL)
システム関数 (Transact-SQL)

その他の技術情報

入れ子構造のトランザクション
ストアド プロシージャとトリガでのロールバックとコミット

ヘルプおよび情報

SQL Server 2005 の参考資料の入手