• SQL Server(九)——事务


    事务:

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

    事务的基本格式:

    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
    View Code

     注:例题里面用到了SQL Server中一个自带的变量——ERROR,表示若上面的语句正确,@@ERROR=0;相反不等于0.

  • 相关阅读:
    隐马尔科夫模型(HMM)
    各大IT企业招聘所须要求技能
    Java NIO和IO的主要差别
    Css 选择器总结
    程序猿生存定律-六个程序猿的故事(3)
    JVM学习心得
    APUE读书笔记-第14章-高级I/O
    《Word排版艺术》读后感,兼谈LaTeX
    LaTeX:Figures, Tables, and Equations 插入图表和公式
    LaTeX 的对参考文献的处理
  • 原文地址:https://www.cnblogs.com/H2921306656/p/5752349.html
Copyright © 2020-2023  润新知