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

  • 相关阅读:
    使用npm安装一些包失败了的看过来(npm国内镜像介绍)
    利用JMX统计远程JAVA进程的CPU和Memory
    Spring Boot学习笔记
    django数据库时间存储格式问题
    解决 Ubuntu 无法调节屏幕亮度的问题(转)
    django models auto_now和auto_now_add的区别
    django redis操作
    接口测试的工具
    django中migration文件是干啥的
    mysql简单操作(实时更新)
  • 原文地址:https://www.cnblogs.com/qianxiaojinnian/p/4572948.html
Copyright © 2011-2022 走看看