• 事务的使用


    事务就是负责把一系列操作看做一个独立的逻辑单元,这些操作要么同时成功,要么同时失败。下面是一个经典的例子:

    复制代码
    createprocedure TransferMoeny (     @FromAccountNovarchar(50),-- 转出账号    @ToAccountNovarchar(50),--转入账号    @MoneyCountmoney--转账金额) as--判断账号是否存在ifexists (select1from 帐户表 where 账号 =@FromAccountNo) begin     ifexists (select1from 帐户表 where 账号 =@ToAccountNo)     begin         --判断转出金额是否大于当前余额        if (select 当前余额 from 帐户表 where 账号 =@FromAccountNo) >=@MoneyCount         begin             --开始转账            begintransaction             insertinto[存取记录表] ([账号],[存取类型], [存取金额]) values(@FromAccountNo, -1,@MoneyCount)             if@@error<>0             begin                 rollbacktransaction--发生错误则回滚事务,无条件退出l                return             end                        insertinto[存取记录表] ([账号],[存取类型], [存取金额]) values(@ToAccountNo, 1,@MoneyCount)             if@@error<>0             begin                 rollbacktran                 return             end             committransaction--两条语句都完成,提交事务        end         else                raiserror ('转账金额不能大于该账号的余额',16,1)     end     else     raiserror ('转入账号不存在',16,1)
    endelse     raiserror ('转出账号不存在',16,1)
    复制代码
  • 相关阅读:
    J2EE技术(一)——JNDI
    软考注定是一次伤痛
    Ultraedit使用技巧收集
    ArcGIS Server Java 自定义Functionality(转)
    用C#动态刷新KML
    ArcGIS Server Java 自定义task
    Python动态刷新kml
    投影坐标知识小结
    tomcat配置数据源通过JNDI访问mysql数据库
    ArcGIS Server Java自定义tool
  • 原文地址:https://www.cnblogs.com/lovenan/p/3230279.html
Copyright © 2020-2023  润新知