事务、索引和视图

什么时事务

  事务(transaction)是作为单个逻辑工作单元执行的一系列操作

  这些操作作为一个整体一起向系统提交,要么都执行,要么都不执行

  事务时一个不可分割的工作逻辑单元

事务的特性  简称ACID属性

  原子性(atomicity)

  一致性(consistency)

  隔离性(lsolation)

  永久性(durability)

  

tsql使用下列语句来管理事务

  开始事务:begin transaction

  提交事务:commit transaction

  回滚事务:rollback transaction

一旦事务提交或回滚,则事务结束

判断某条语句执行是否出错
  使用全局变量@@error
@@error只能判断当前一条sql语句执行是否出错,为了判断事务中所有sql语句是否有错,我们需要对错误进行累加
  如:set @errorSum += @@error   

/*--如果创建事务*/

1 BEGIN TRANSACTION 2 DECLARE @errorSum int --定义变量,用于累计事务执行过程中的错误 3 SET @errorSum = 0 --初始化为0,即无错误 4 /*--转账:张三的账户少1000块,李四账户多1000块--*/ 5 update bank set currentMoney = currentMoney - 1000 6 where customerName = '张三' 7 set @errorSum += @@error 8 9 update bank set currentMoney += 1000 10 where customerName = '李四' 11 Set @errorSum += @@error --累计是否有错误 12 13 if @errorSum != 0 --如果有错误 14 begin 15 print '交易失败,回滚事务' 16 rollback transaction 17 end 18 else 19 begin 20 print '交易成功,提交事务,写入硬盘,永久的保存' 21 commit transaction 22 end 23 go 24 25 print '查看转账事务后的余额' 26 select * from bank 27 go

  

猜你喜欢

转载自www.cnblogs.com/ftyl/p/12155631.html