传参带事务的存储过程

USE [TestPublish]
GO
/****** Object:  StoredProcedure [dbo].[proc_stu]    Script Date: 2017/12/21 15:51:34 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER proc [dbo].[proc_stu] 
@sname int 
as 


begin tran tran_AddUserInfo --开始事务


declare @tran_error int;
set @tran_error=0;
begin try
  insert into [TestPublish].[dbo].[SubTable]([ID] ,[MaintableID],[Column1]) values(0,0,@sname)
 insert into [TestPublish].[dbo].[SubTable]([ID] ,[MaintableID],[Column1]) values(0,0,@sname)
end try
begin catch
  set @tran_error=@tran_error+1; --加分号或不加都能正常执行
end catch
if(@tran_error>0)
begin
  rollback tran tran_AddUserInfo; --执行出错,回滚事务(指定事务名称 )
  print @tran_error;
end 
else
begin
  commit tran tran_AddUserInfo; --没有异常,提交事务(指定事务名称)
  print @tran_error;

end



USE [TestPublish]
GO
/****** Object:  StoredProcedure [dbo].[proc_stu]    Script Date: 2017/12/21 15:51:34 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER proc [dbo].[proc_stu] 
@sname int 
as 


begin tran tran_AddUserInfo --开始事务


declare @tran_error int;
set @tran_error=0;
begin try
  insert into [TestPublish].[dbo].[SubTable]([ID] ,[MaintableID],[Column1]) values(0,0,@sname)
 insert into [TestPublish].[dbo].[SubTable]([ID] ,[MaintableID],[Column1]) values(0,0,@sname)
end try
begin catch
  set @tran_error=@tran_error+1; --加分号或不加都能正常执行
end catch
if(@tran_error>0)
begin
  rollback tran; --执行出错,回滚事务(不指定事务名称 )
  print @tran_error;
end 
else
begin
  commit tran; --没有异常,提交事务(不指定事务名称)
  print @tran_error;

end


猜你喜欢

转载自blog.csdn.net/y1535623813/article/details/78864863
今日推荐