目录

 

--事务

--实现事务有两种方式:

--例子:假设有银行账户A,要转给银行账户B,1500块钱

--事务的语法

--方法2:


--事务

--定义:事务是并发控制的单位,它是永辉定义的一个操作的序列,这些操作

--要么都做,要么都不做,是一个不可分割的整体

--实现事务有两种方式:

--1、SQL Server的事务

--2、ADO.NET的事务

 

--例子:假设有银行账户A,要转给银行账户B,1500块钱

--1、A账户减去1500

--2、B账户加上1500


select * from Bank

update Bank set jine=jine-1500 where userName='A'

update Bank set jine=jine+1500 where userName='B'

--事务的语法

--begin tran:开始一个事务操作

--commit tran:提交实物操作

--rollback:回滚事务操作

begin tran

declare @sum int

set @sum=0

update Bank set jine=jine+1500 where userName='B'

set @sum=@sum+@@ERROR

update Bank set jine=jine-1500 where userName='A'

set @sum=@sum+@@ERROR

if(@sum<>0)

begin

  rollback

end

else

begin

  commit tran

end

 

 

--方法2:

begin tran

begin try

  update Bank set jine=jine-800 where userName='A'

  update Bank set jine=jine+800 where userName='B'

  commit tran

end try

begin catch

  rollback

end catch

--string sql=""

--把事务的操作封装到存储过程