首页 > 代码库 > 案例------事务

案例------事务

例:
……关键语句讲解………
  BEGIN TRANSACTION
  /*--定义变量,用于累计事务执行过程中的错误--*/
  DECLARE @errorSum INT
  SET @errorSum=0 --初始化为0,即无错误
  /*--转账:张三的账户少1000元,李四的账户多1000元*/
  UPDATEbankSET currentMoney=currentMoney-1000
  WHERE customerName=‘张三‘
  SET @errorSum=@errorSum+@@error
  UPDATE bank SET currentMoney=currentMoney+1000
  WHERE customerName=‘李四‘
  SET @errorSum=@errorSum+@@error --累计是否有错误
IF @errorSum<>0 --如果有错误
  BEGIN
  print ‘交易失败,回滚事务‘
  ROLLBACK TRANSACTION
  END?
  ELSE
  BEGIN
  print ‘交易成功,提交事务,写入硬盘,永久的保存‘
  COMMIT TRANSACTION
  END
  GO
  print ‘查看转账事务后的余额‘
  SELECT * FROM bank?
  GO