什么是事务(Transaction)
指访问并可能更新数据库中各种数据项的一个程序执行单元(unit),也就是由多个sql语句组成,必须作为一个整体执行。
这些sql语句作为一个整体,一起向系统提交,要么都执行,要么都不执行。
语法步骤:
开始事务:BEGIN TRANSACTION
事务提交:COMMIT TRANSACTION
事务回滚:ROLLBACK TRANSACTION
判断某条语句执行是否出错:
全局变量@@ERROR
@@ERROR只能判断当前一条T-SQL语句执行是否有错,为了判断 事务中所有T-SQL语句 是否有错,我们需要对错误 进行累计;
例:SET @errorSum=@errorSum+@@ERROR
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 Begin rollback transaction select ‘失败’ End Else Begin commit transaction select ‘成功’ End
欢迎加入.net技术交流群