一、语法
--创建事务
BEGIN TRAN
--事务标签
SAVE TRAN [TranName]
--提交事务
COMMIT TRAN
--回滚事务
ROLLBACK TRAN
--事务计数
DECLARE @sTranCount INT
SET @sTranCount=@@TRANCOUNT
二、常见用法
1、单事务
--事务计数
DECLARE @sTranCount INT
SET @sTranCount=@@TRANCOUNT --此时为 0
--监测异常
BEGIN TRY
--创建事务
BEGIN TRAN --此时 @@TRANCOUNT为 1
/*此处实现业务处理-下*/
SELECT 1
/*
--主动抛出异常
RAISERROR('抛出异常说明',16,1)
--主动回滚
ROLLBACK TRAN
*/
/*此处实现业务处理-上*/
--提交事务
COMMIT TRAN --此时 @@TRANCOUNT为 0
END TRY
BEGIN CATCH
--存在事务则回滚
IF @@TRANCOUNT > @sTRANCOUNT
BEGIN
--回滚事务
ROLLBACK TRAN --此时 @@TRANCOUNT为 0
END
END CATCH
2.嵌套事物-不存在SAVE TRAN
--事务计数
DECLARE @sTranCount INT
SET @sTranCount=@@TRANCOUNT --此时为 0
--监测异常
BEGIN TRY
--创建事务
BEGIN TRAN