SQL中事务的使用方法
create database Test3
go
use Test3
go
create table bank
(
id int primary key identity(1,1),
name varchar(20) not null,
money int default(0) check(money>=0)
)
insert into bank values('张一',90)
insert into bank values('张二',80)
insert into bank values('张三',91)
select * from bank
go
create proc exchange @from int ,@to int ,@money int
as
begin tran
declare @error int
set @error=0
update bank set money=money-@money where id=@from
set @error=@@ERROR+@error
update bank set money=money+@money where id=@to
set @error=@@ERROR+@error
if @error<>0
begin
rollback tran
print '转账失败,交易取消'
end
else
begin
commit tran
print '转账成功,交易取消'
end
go
exec exchange 2,1,10
--删除储存过程
drop procedure exchange