SQL Server—T-sql事务详解

  • 事务

    • 1 事务概念

      • 1事务概念:

        事务是作为单个逻辑工作单位执行的一系列操作,多个操作作为一个整体向系统提交,要么都执行 要么都不执行,事务是不可分割的工作逻辑单位。

      • --2事务特点:

        --原子性:事务是一个完整的整体,事务各部操作是不可分的要么都执行 要么都不执行

        --一致性:事务完成时候 数据必须保持一致的状态

        --隔离性:多个事务之间彼此隔离、独立、互不影响。

        --永久性:事务完成时候 它对数据库的修改,被永久保存

      • --3 事务的分类

        --3.1 显式事务:通过begin transaction明确指定开启事务 ,最常用的事务类型

        --3.2 隐形事务:通过set transaction on 语句 把隐形的事务模式打开,其后面的sql语句将自动开启一个事务 --提交或者回滚事务之后,下一个sql将开启另外一个事务

        --3.3 自动提交的事务 sqlserver默认模式 每一句sql都可以视为一个事务

    • 2 实现事务

      • 语法:  

      • --1 开始事务:       begin transaction
        --2 提交事务         commit  transaction
        --3 回滚(撤销)事务 rollback transacti
      • 实例:

      • 实例: 
        declare @errornum int = 0 --定义一个记录错误个数的变量
        begin transaction -- 开启事务
        	begin
        		--操作代码1
        		 update Card set CurrentMoney = CurrentMoney - 100000 where StudentId = 1002
        		 -- 把@@error加到总的记录上,@@error为0证明上一句
                        set @errornum = @errornum +  @@error 、
        		--操作代码2
        		update Card set CurrentMoney = CurrentMoney + 100000 where StudentId = 1004
        		set @errornum = @errornum + @@ERROR
        		if(@errornum>0) --证明有错误,把之前已经执行的操作回滚到原先的数据上
        			rollback transaction  --回滚事务
        		else   --没有错误
        			commit transaction  --提交事务
        	end
        go

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值