SQL 事务转账
来源:互联网 发布:qq飞车b车官方数据排行 编辑:程序博客网 时间:2024/05/17 02:15
create procedure TransferMoeny
(
@FromAccountNo varchar(50),-- 转出账号
@ToAccountNo varchar(50),--转入账号
@MoneyCount money--转账金额
)
as
--判断账号是否存在
if exists (select 1 from 帐户表 where 账号 = @FromAccountNo)
begin
if exists (select 1 from 帐户表 where 账号 = @ToAccountNo)
begin
--判断转出金额是否大于当前余额
if (select 当前余额 from 帐户表 where 账号 = @FromAccountNo) >= @MoneyCount
begin
--开始转账
begin transaction
insert into [存取记录表] ([账号],[存取类型], [存取金额]) values(@FromAccountNo, -1,@MoneyCount)
if @@error <> 0
begin
rollback transaction--发生错误则回滚事务,无条件退出l
return
end
insert into [存取记录表] ([账号],[存取类型], [存取金额]) values(@ToAccountNo, 1,@MoneyCount)
if @@error <> 0
begin
rollback tran
return
end
commit transaction --两条语句都完成,提交事务
end
else
raiserror ('转账金额不能大于该账号的余额',16,1)
end
else
raiserror ('转入账号不存在',16,1)
end
else
raiserror ('转出账号不存在',16,1)
文章来自学IT网:http://www.xueit.com/html/2009-06/26_2116_00.html
- SQL 事务转账
- Sql Server使用事务实现--转账问题
- 事务-转账案例
- 转账的事务例子
- spring事务转账案例
- 事务示例之转账
- JDBC 转账事务
- DBUtils控制事务------转账操作
- 转账和事务的例子
- Android 银行转账(事务)
- 银行转账业务-使用事务
- 事务及转账的例子
- 数据库实验(六)——转账事务
- 使用存储过程、事务、webpage实现转账。
- 简单的转账Tran 事务例子
- sqlserver 2008实现的转账事务模拟
- Java模拟银行转账(操作事务)
- 使用ThreadLocal控制事务实现用户转账
- linux acpi
- 自定义tree
- ocs-live.conf
- 连接数据事务的应用
- JavaDoc使用
- SQL 事务转账
- 垄断中竞争,中国通信业三巨头优劣势简述
- 不用GMail从WM或Outlook导入联系人通讯录到Android手机的办法
- 在ubuntu10.10下qt开发环境搭建
- imagine---john lennon
- How to install an Ubuntu VM under CentOS/Red Hat Xen
- shell if else
- ubuntu10.10下qt连接mysql数据库
- QTP VBS 递归遍历