zoukankan      html  css  js  c++  java
  • 事务

    一、什么是事务?
    能够保证数据一致的代码控制。它要么执行提交,要么回滚到事务的初始状态。

    二、事务的四大特性:ACID
    A - 原子性.——事务不可折开,要么都执行,要么都回滚,无中间状态。
    C - 一致性.——数据前后要一致。
    I - 隔离性.——事务在执行的过程中是不许外界干扰的。
    D - 持久性.——存在硬盘上的。

    三、事务的代码:
    定义事务的开始:begin transaction
    事务回滚:rollback
    事务提交:commit

    @@ERROR 最近一条语句是否执行成功。成功返回0,否则返回错误代号。
    例如:
    法一:使用@@ERROR和if判断来使用事务
    declare @t int --记录累计的错误信息
    set @t = 0
    begin tran --启动事务
    insert into Info values('p003','吴倩','0','n004','1990-8-12')
    set @t = @t +@@ERROR --累计错误信息
    insert into Info values('p006','张三','1','n004','1992-3-19')
    set @t = @t +@@ERROR --累计错误信息
    insert into Info values('p005','李四','0','n001','1991-12-24')
    set @t = @t +@@ERROR --累计错误信息

    if @t<> 0 --如果累计发现有错误 ,就回滚
    begin
    rollback
    end
    else --如果累计中没有发现错误,就提交
    begin
    commit
    end

    法二:使用try...catch....来使用事务
    begin tran
    begin try
    insert into Info values('p007','王五','0','n002','1991-4-1')
    insert into Info values('p009','张四','1','n004','1992-3-19')
    insert into Info values('p008','李九','0','n001','1991-12-24')
    commit
    end try
    begin catch
    rollback
    end catch

  • 相关阅读:
    华为花了100亿,为员工造了12个欧洲小镇,幸福到爆棚
    Qt5.9 官方发布的新版本亮点的确不胜枚举(而且修复2000+ bugs)
    详尽分析世纪之战:360VS腾讯是两个阶层的抗争
    c#
    PhantomJS
    bootstrap table
    Linux 入门
    多路搜索树
    网站性能优化工具
    NetCore上传多文件
  • 原文地址:https://www.cnblogs.com/qianxiaojinnian/p/4572948.html
Copyright © 2011-2022 走看看