• 数据库中大的事物


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

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

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

  • 相关阅读:
    P1410 子序列
    P1395 会议 (树形dp)
    P2580 于是他错误的点名开始了
    LC1127. 用户购买平台
    LC 1308. Running Total for Different Genders
    P1340 兽径管理 (最小生成树)
    P1330 封锁阳光大学 (二分图染色)
    CF1296F Berland Beauty (Tree, dfs/bfs, LCA)
    顺丰的Cookie条款
    服务器判断客户端的用户名和密码(token的身份验证)
  • 原文地址:https://www.cnblogs.com/cl1006/p/4331451.html
Copyright © 2020-2023  润新知