--事务处理
declare @err int --声明
set @err = 0--赋值
begin transaction--开启事物
--删除图书
delete from Book where CategoryId = 3
set @err += @@ERROR
--删除类别
delete from Category where Id = 3
set @err = @@ERROR
if @err = 0
commit transaction--提交事物
else
rollback transaction--回滚事物
select * from Book where CategoryId = 3
select * from Category where Id = 3
--业务处理
--创建卡号
--create table Balance
--(
-- id int primary key identity(1,1),
-- Money decimal(18,2)
--)
--go
--insert into Balance values(1000)
--insert into Balance values(1000)
--go
--select * from Balance
declare @fromId int--转出账号
declare @toId int--转入账号
declare @money decimal(18,2)--转账金额
declare @temp decimal(18,2)--转出账号的余额
declare @err int--错误编号
set @err = 0--初始化错误编号
set @money = 600--初始化转账金额
set @fromId = 1
set @toId = 2
begin transaction--开启事物
update Balance set Money=Money - @money where
id=@fromId--从转出账号中将金额扣除
set @err += @@ERROR--判断修改是否出现错误
--获取转出账号现有余额
select @temp = Money from Balance where id = @fromId
set @err += @@ERROR--判断修改数否出现错误
if @temp < 0
begin
set @err = 1
end
update Balance set Money = Money + @money where
id = @toId--将金额加入转入账号
set @err += @@ERROR--判断修改数否出现错误
if @err = 0
commit transaction
else
rollback transaction
select * from Balance
--update Balance set Money = 1000