zoukankan      html  css  js  c++  java
  • 事务

    事务:
    保障流程的完整执行
    就像银行取钱,先在你账上扣钱,然后存入别人的账上;
    但是从你账上扣完钱了,突然网断了,对方没有收到钱,那么此时你的钱也没了,别人的钱也没加上,为了防止此类情况的出现,事务。

    begin tran --在流程开始的位置


    if @@ERROR>0
    begin
    rollback tran --回滚事务,到begin tran的位置,就当没发生过
    end
    else
    begin
    commit tran --提交事务,都没问题,那么就一把进行提交
    end

    -----------------------------------------------------------------
    购物车实例
    begin tran --开启事务
    declare @tran_error int; --存储错误
    set @tran_error = 0; --默认没有错误

    update Fruit set Numbers = Numbers-1 where Ids='k002'
    set @tran_error = @tran_error + @@ERROR;
    update Login set Account=Account-1 where UserName='wangwu'
    set @tran_error = @tran_error + @@ERROR;
    insert into Orders values('d002','wangwu','2016-8-7')
    set @tran_error = @tran_error + @@ERROR;
    insert into OrderDetails values('d002','k002',10)
    set @tran_error = @tran_error + @@ERROR;


    if @tran_error>0
    begin
    rollback tran --回滚事务,到begin tran的位置,就当没发生过
    end
    else
    begin
    commit tran --提交事务,都没问题,那么就一把进行提交
    end

  • 相关阅读:
    ubuntu16.04安装破解pycharm
    python解压,压缩,以及存数据库的相关操作
    cocoapods Error
    swift项目导入OC框架
    实现全屏滑动返回效果
    Storyboard & XIB 自己的理解
    View & Controller 一些方法的执行顺序
    Touch ID 实现
    Apple Pay 初探
    ReactiveCocoa学习
  • 原文地址:https://www.cnblogs.com/blueteasama/p/5885467.html
Copyright © 2011-2022 走看看