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

  • 相关阅读:
    09安装运行redis-trib.rb所需的环境
    08Redis入门指南笔记(集群)
    win10 64位安装memcache扩展和开启redis扩展
    ubuntu 安装 lamp 和配置虚拟机
    Ubuntu 安装phpmyadmin 和配置
    ubuntu的 mysql 存储目录迁移
    ubuntu16.04安装php5
    PHP文件操作功能函数大全
    PHP 通用检测函数集
    PHP文件操作的经典案例
  • 原文地址:https://www.cnblogs.com/cl1006/p/4331451.html
Copyright © 2011-2022 走看看