sql-事务

sql事务:

事务Tran(Transaction)是并发控制的单位,是用户定义的一个操作序列。这些操作要么都做,要么都不做,是一个不可分割的工作单位。
通过事务,SQL Server能将逻辑相关的一组操作绑定在一起,以便服务器保持数据的完整性

Begin Transaction(Tran)  --开始事务

Rollback Transaction(Tran) --回滚事务

Commit Transaction(Tran)  --提交事务

简单写法:

Begin tran

update stud set Name='王五' where Name='张三'  --正确语句
update YX set ID='王五' where ID='2'              --错误语句(因为我这里ID字符类型是int类型)
rollback tran

因为计算机执行语句是从上到下开始执行,如果不加rollback tran,执行完第一个语句,开始执行第二个语句会报错,但是这时张三已经改成王五了,第二个语句却没有执行,却失了数据的一致性。

加了rollback tran 从上到下开始执行,执行完第一个语句,第二个语句报错时,是会回滚第一个语句修改的数据的(张三就还是张三),这样保持了数据的一致性。

存储过程写法:

create proc up   --创建存储过程‘up’
as
begin try   --异常捕捉
Begin Tran  --开始事务
update stud set Name='王五' where Name='张三'   --正确语句
update YX set ID='王五' where ID='2'                 --错误语句因为id是int类型
commit tran      --提交事务
end try    --结束捕捉
begin catch   --异常处理
rollback tran   --回滚事务
end catch   --结束异常处理

原文地址:https://www.cnblogs.com/Lxxv5/p/15433844.html