sqlserver 2008实现的转账事务模拟
2014-10-23 15:51
295 查看
use master
drop table customer
create table customer(
id int primary key,
account decimal check(account>0),
name varchar(20)
)
--use master
alter table dbo.customer
add check(customer.account>0)
select * from customer
insert into customer values(2012090101,2000,'张三');
insert into customer values(2012090102,1000,'李四');
insert into customer values(2012090103,1000,'王五');
begin transaction
declare @sum int
set @sum=0
update customer set account-=200 where customer.id=2012090101
set @sum+=@@ERROR
update customer set account+=200 where customer.id=2012090102
set @sum+=@@ERROR
--update customer set account-=100 where customer.id=2012090103
if @sum<>0
begin
print '转账失败'
rollback transaction
end
else
begin
print '成功转账'
commit transaction
end
go
select * from customer
drop table customer
create table customer(
id int primary key,
account decimal check(account>0),
name varchar(20)
)
--use master
alter table dbo.customer
add check(customer.account>0)
select * from customer
insert into customer values(2012090101,2000,'张三');
insert into customer values(2012090102,1000,'李四');
insert into customer values(2012090103,1000,'王五');
begin transaction
declare @sum int
set @sum=0
update customer set account-=200 where customer.id=2012090101
set @sum+=@@ERROR
update customer set account+=200 where customer.id=2012090102
set @sum+=@@ERROR
--update customer set account-=100 where customer.id=2012090103
if @sum<>0
begin
print '转账失败'
rollback transaction
end
else
begin
print '成功转账'
commit transaction
end
go
select * from customer
相关文章推荐
- Spring通过事务实现模拟银行转账案例
- 使用Sqlserver事务发布实现数据同步
- 使用Sqlserver事务发布实现数据同步(引:http://www.cnblogs.com/daizhj/archive/2009/11/18/1605293.html )
- 使用事务实现--转账问题:从0001账户转1000块到0002账户。打开"隐式事务":设置为开,删除表中数据,回滚!(默认情况为关,如果打开了则不自动提交,学要手动提交)
- 使用SQLServer 2008的CDC功能实现数据变更捕获
- 使用Sqlserver事务发布实现数据同步
- 使用Sqlserver事务发布实现数据同步
- 存储过程与事务实现转账
- Sql Server使用事务实现--转账问题
- 使用SQLServer 2008的CDC功能实现数据变更捕获
- 使用SQLServer 2008的CDC功能实现数据变更捕获
- 使用Sqlserver事务发布实现数据同步
- 使用Sqlserver事务发布实现数据同步
- [转载]使用Sqlserver事务发布实现数据同步
- 使用存储过程、事务、webpage实现转账。
- 使用Sqlserver事务发布实现数据同步(转)
- 使用Sqlserver事务发布实现数据同步(转)
- 【转】使用Sqlserver事务发布实现数据同步
- SqlServer 2008 r2 express的自动备份实现
- 使用SQLServer 2008的CDC功能实现数据变更捕获