sqlserver数据库事务

事务(TRANSACTION)是作为单个逻辑工作单元执行的一系列操作
多个操作作为一个整体向系统提交,要么都执行、要么都不执行
事务是一个不可分割的工作逻辑单元
1、开始事务:
BEGIN TRANSACTION

2、提交事务
COMMIT TRANSACTION

3、回滚(撤销)事务
ROLLBACK TRANSACTION

//示例:
BEGIN TRANSACTION /*--定义变量,用于累计事务执行过程中的错误--*/
DECLARE @errorSum INT
SET @errorSum=0 --初始化为0,即无错误
/*--转账:张三的账户减少1000元,李四的账户增加1000元*/
UPDATE bank SET currentMoney = currentMoney - 1000 WHERE customerName = '张三'
SET @errorSum = @errorSum + @@ERROR --累计是否有错误
UPDATE bank SET currentMoney = currentMoney + 1000 WHERE customerName = '李四'
SET @errorSum = @errorSum + @@ERROR

IF @errorSum<>0 --如果SQL语句执行出错
BEGIN
PRINT '交易失败,回滚事务'
ROLLBACK TRANSACTION
END
ELSE
BEGIN
PRINT '交易成功,提交事务,写入硬盘,永久的保存'
COMMIT TRANSACTION
END
GO

posted @ 2018-01-17 09:50  wangzhaofang  阅读(342)  评论(0编辑  收藏  举报