Sqlserver2005事务回滚案例
2011-03-19 10:59
183 查看
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER PROCEDURE [dbo].[proc_UpdateDepartCode]
@oldCode varchar(50),
@newCode varchar(50),
@DepartID int,
@DepartName varchar(30),
@DepartAddress varchar(30),
@PersonID int,
@CompanyID int,
@Result int output
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
declare @sqlError int
set @sqlError = 0
SET NOCOUNT ON;
Update tblDepart set ParentDepartCode = @newCode where ParentDepartCode = @oldCode
set @sqlError = @sqlError + @@error
Update tblDepart set DepartCode=replace(DepartCode,substring(DepartCode,1,4),ParentDepartCode) where ParentDepartCode = @newCode
set @sqlError = @sqlError + @@error
Update tblDepart set DepartCode = @newCode,DepartName=@DepartName,DepartAddress=@DepartAddress,PersonID=@PersonID,CompanyID=@CompanyID where DepartID = @DepartID
set @sqlError = @sqlError + @@error
if @sqlError <> 0
begin
rollback transaction
select @Result = 0
end
else
begin
BEGIN TRANSACTION
commit transaction
select @Result = 1
end
END
set QUOTED_IDENTIFIER ON
go
ALTER PROCEDURE [dbo].[proc_UpdateDepartCode]
@oldCode varchar(50),
@newCode varchar(50),
@DepartID int,
@DepartName varchar(30),
@DepartAddress varchar(30),
@PersonID int,
@CompanyID int,
@Result int output
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
declare @sqlError int
set @sqlError = 0
SET NOCOUNT ON;
Update tblDepart set ParentDepartCode = @newCode where ParentDepartCode = @oldCode
set @sqlError = @sqlError + @@error
Update tblDepart set DepartCode=replace(DepartCode,substring(DepartCode,1,4),ParentDepartCode) where ParentDepartCode = @newCode
set @sqlError = @sqlError + @@error
Update tblDepart set DepartCode = @newCode,DepartName=@DepartName,DepartAddress=@DepartAddress,PersonID=@PersonID,CompanyID=@CompanyID where DepartID = @DepartID
set @sqlError = @sqlError + @@error
if @sqlError <> 0
begin
rollback transaction
select @Result = 0
end
else
begin
BEGIN TRANSACTION
commit transaction
select @Result = 1
end
END
相关文章推荐
- 大事务回滚导致系统故障案例一则
- java 事务回滚案例
- thinkphp对事务回滚的案例
- spring 事务无法正常回滚的案例
- thinkphp对事务回滚的案例
- thinkphp对事务回滚的案例
- thinkphp对事务回滚的案例
- spring结合junit进行单元测试(二)——测试后进行事务回滚
- 事务实现原理-回滚原理
- Spring事务异常回滚,捕获异常不抛出就不会回滚
- spring 声明式事务管理 事务不回滚
- flask-sqlalchemy、pytest 的单元测试和事务自动回滚
- spring + hibernate + mysql 事务不回滚
- DEBUG:JDBC建立了事务,操作失败,却没能实现回滚的问题
- 异常捕获不抛出,Spring事务无法回滚
- spring3MVC 事务无法回滚问题
- spring事务回滚的一些个人总结
- 事务中使用存储过程解决数据库表锁定达到报错回滚效果
- 事务-转账案例
- jfinal异常时的事务回滚