BEGIN TRANSACTION 语句将 @@TRANCOUNT 加 1。
ROLLBACK TRANSACTION 将 @@TRANCOUNT 递减到 0,但 ROLLBACK TRANSACTION
savepoint_name 除外,它不影响 @@TRANCOUNT。
COMMIT TRANSACTION 或 COMMIT WORK 将 @@TRANCOUNT 递减 1。
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