zoukankan      html  css  js  c++  java
  • 数据库中大的事物

    事物的特点: 原子性 ,一致性, 隔离性, 持久性

    事物的分类:显示事务  隐式事务  自动提交事务 

    T-sql 中使用事物的语句:

    开始事务:begin transaction

    提交事务:commit transaction

    回滚事务:rollback transaction 

    事物的例子:
    print '转账账号的余额'
    select* from AccountInfo
    declare @money money --声明一个变量来存放钱
    set @money =2000000 --转账的金额为200万
    declare @errorSum int --用于存放错误的个数
    set @errorSum =0
    --开始事务
    begin transaction
        update AccountInfo set currentMoney=currentMoney -@money
        where accountName='保利建设';
        set @errorSum =@errorSum +@@ERROR
        
        update AccountInfo set currentMoney =currentMoney +@money
        where accountName ='莱钢集团'
        set @errorSum =@errorSum +@@ERROR
    if (@errorSum <>0)
    begin
        print '转账失败'
        rollback transaction
    end
    else
    begin
        print'转账成功'
        commit transaction
    end
    ---------存储过程中使用事物--------------

     
    create proc proc_transfer
        @intoaccountName varchar(20),
        @uotaccountName varchar(20),
        @money money
    as
        if not exists (select * from AccountInfo where accountName=@intoaccountName)
        begin
            print '转账失败'
            return
        end
        if not exists (select * from AccountInfo where accountName=@uotaccountName)
        begin
            print '转账失败'
            return
        end
        declare @reeorsum int
        set @reeorsum =0
        begin transaction
        update AccountInfo set currentMoney =currentMoney - @money
        where accountName =@uotaccountName
        set @reeorsum =@reeorsum +@@ERROR
        update AccountInfo set currentMoney =currentMoney +@money
        where accountName =@intoaccountName
        set @reeorsum =@reeorsum +@@ERROR
        if(@reeorsum <>0)
        begin
            print '转账失败'
            rollback transaction
        end
        else
        begin
            print'转账成功'
            commit transaction
        end
    ------------------------------------------------ 

  • 相关阅读:
    Mongodb 查询时间类型
    Python更新所有pip package
    Python selenium on windows
    Redis cluster setup on windows
    CAP定理(theorem)
    error: Microsoft Visual C++ 14.0 is required when installing python package
    using RNGCryptoServiceProvider to generate random string
    <map>的使用
    二维vector的使用
    vector做形参时的三种传参方式
  • 原文地址:https://www.cnblogs.com/cl1006/p/4331451.html
Copyright © 2011-2022 走看看