SQL-SERVER2008 存储过程-子过程回滚
来源:互联网 发布:centos git ssh配置 编辑:程序博客网 时间:2024/05/16 00:33
GO
/****** Object: StoredProcedure [dbo].[CJdemo] Script Date: 07/31/2017 17:47:39 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: ( Jetaime )
-- Create date: ( 2017-07-29 11:17 )
-- Description: ( 过程DEMO1 )
-- =============================================
ALTER PROCEDURE [dbo].[CJdemo]
@Rstatus INT OUTPUT,--返回标识号 0 成功
@Rcode INT OUTPUT,--返回错误编码
@Rmsg VARCHAR(128) OUTPUT--返回描述状态说明标识
AS
declare @tran_counts int
begin
--保存执行当前事务计数
set @tran_counts = @@TRANCOUNT
if(@tran_counts > 0)
begin
--作为子过程,设置会滚点
save tran CJdemo1_P
end
else
begin
--作为主过程运行,开始事务
begin tran
endbegin try
--正确执行语句
insert into parkErr (proName,proErr,proTime) values('1','123',GETDATE())
--错误执行语句
insert into parkErr (proName,proErr,proTime) values('2','456','1234')
if(0 = @tran_counts)begin
set @Rstatus = 0
set @Rcode = 0
set @Rmsg = '成功返回'
--事务提交
commit tran
end
end try
begin catch
if(0 = @tran_counts)
beginset @Rstatus = -1
set @Rcode = 0
set @Rmsg = '过程出错'
--回滚
rollback tran
--记录错误日志
exec dbo.CJ_ERRend
else
begin
if(-1 <> XACT_STATE())
beginset @Rstatus = -1
set @Rcode = 0
set @Rmsg = '子过程出错'
--回滚到还原点
rollback tran CJdemo1_P
--记录错误日志
exec dbo.CJ_ERR
end
end
end catch
end>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
图1:作为父过程执行
图2:作为子过程执行
- SQL-SERVER2008 存储过程-子过程回滚
- SQL 存储过程回滚
- 分布式执行存储过程,sql server2008事务回滚和抛异常的顺序
- SQL SERVER2008存储过程调试
- SQL Server2008存储过程调试
- SQL存储过程调用"事务回滚"
- sql 存储过程回滚用法
- SQL Server存储过程回滚
- SQL Server2008存储过程调试方法
- SQL Server2008 右键打不开存储过程
- SQL Server2008创建无参存储过程
- SQL Server2008创建有参存储过程
- 回滚操作存储过程
- 求知过程之存储过程回滚
- 存储过程调用"事务回滚" (SQL server)
- SQL SERVER 2000 嵌套 存储过程 事务 回滚
- Sql Server2008安装过程
- 存储过程进阶(vb.net+SQL Server2008环境)
- 对nginx学习记录
- 交叉编译工具链的构建原理
- New Year and Days
- python基础第二篇
- Android插件化与其构建流程
- SQL-SERVER2008 存储过程-子过程回滚
- MySql错误:[Err] 1292
- POJ 1258 Agri-Net(最小生成树-Prim)
- 15入门阶段综合练习
- 【HDU】6048
- 让你用一次就会爱上的 5 个 web 工具类产品
- How can I autologin to desktop with systemd?
- QT-输入框右键菜单翻译文件安装
- POJ 1915:Knight Moves(BFS)