1
SELECT
'
事务处理前
'
,
@@TRANCOUNT
--
值为 0
2 BEGIN TRAN
3 SELECT ' 第一个事务 ' , @@TRANCOUNT -- 值为 1
4 -- SELECT 'aa'
5 BEGIN TRAN
6 SELECT ' 第二个事务 ' , @@TRANCOUNT -- 值为 2
7 -- SELECT 'bb'
8 COMMIT TRAN
9 SELECT ' 递交第二个事务 ' , @@TRANCOUNT -- 值为 1
10 ROLLBACK TRAN
11 SELECT ' 回滚第一个事务 ' , @@TRANCOUNT -- 值为 0
12
13
14 SELECT ' 事务处理前 ' , @@TRANCOUNT -- 值为 0
15 BEGIN TRAN
16 SELECT ' 第一个事务 ' , @@TRANCOUNT -- 值为 1
17 -- SELECT 'aa'
18 SAVE TRAN t1
19 SELECT ' 保存第一个事务后 ' , @@TRANCOUNT -- 值为 1
20 BEGIN TRAN
21 SELECT ' 第二个事务 ' , @@TRANCOUNT -- 值为 2
22 -- SELECT 'bb'
23 ROLLBACK TRAN t1
24 SELECT ' 回滚到保存点t1 ' , @@TRANCOUNT -- 注意这里的值为 2
25 IF @@TRANCOUNT > 0
26 ROLLBACK TRAN
27 SELECT ' 处理结束 ' , @@TRANCOUNT -- 为 0
2 BEGIN TRAN
3 SELECT ' 第一个事务 ' , @@TRANCOUNT -- 值为 1
4 -- SELECT 'aa'
5 BEGIN TRAN
6 SELECT ' 第二个事务 ' , @@TRANCOUNT -- 值为 2
7 -- SELECT 'bb'
8 COMMIT TRAN
9 SELECT ' 递交第二个事务 ' , @@TRANCOUNT -- 值为 1
10 ROLLBACK TRAN
11 SELECT ' 回滚第一个事务 ' , @@TRANCOUNT -- 值为 0
12
13
14 SELECT ' 事务处理前 ' , @@TRANCOUNT -- 值为 0
15 BEGIN TRAN
16 SELECT ' 第一个事务 ' , @@TRANCOUNT -- 值为 1
17 -- SELECT 'aa'
18 SAVE TRAN t1
19 SELECT ' 保存第一个事务后 ' , @@TRANCOUNT -- 值为 1
20 BEGIN TRAN
21 SELECT ' 第二个事务 ' , @@TRANCOUNT -- 值为 2
22 -- SELECT 'bb'
23 ROLLBACK TRAN t1
24 SELECT ' 回滚到保存点t1 ' , @@TRANCOUNT -- 注意这里的值为 2
25 IF @@TRANCOUNT > 0
26 ROLLBACK TRAN
27 SELECT ' 处理结束 ' , @@TRANCOUNT -- 为 0