SQLSERVER-存储过程-事务-小结

本文深入探讨了SQLSERVER中存储过程中如何使用事务,包括事务的管理、XACT_ABORT选项的应用,以及在实践中确保数据一致性的重要策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

sqlserver 事务

在存储过程中使用事务的时候也遇到些概念性的错误和操作性的错误,特记录下来。
提到事务,一般都知道其是一个单个的工作单元,也就是用户定义的一个操作序列,要么都成功,要么都失败。
事务有一个  隐藏的 XACT_ABORT 设置开关,一般在启用事务(transaction)的时候,其默认值为off
XACT_ABORT 官方给的解释是 “指定当 Transact-SQL 语句出现运行时错误时,SQL Server 是否自动回滚当前事务”
其中
当 SET XACT_ABORT 为 ON 时,如果执行 Transact-SQL 语句产生运行时错误,则整个事务将终止并回滚。
当 SET XACT_ABORT 为 OFF 时,有时只回滚产生错误的 Transact-SQL 语句,而事务将继续进行处理。 如果错误很严重,那么即使 SET XACT_ABORT 为 OFF,也可能回滚整个事务。 OFF 是默认设置。


第一种:
我在使用事务的时候,犯得第一个错误时,错误理解使用到呢系统给的函数@@error
例如:
create table student
{
  id int PRIMARY KEY IDENTITY(1,1),
  name varchar(10),
  age int
}


create PROCEDURE pro_student_test
as
begin tran
     insert into student(name,age) values('中国人民a',null);
insert into student(name,age) values('中国人民共和国,中国人名共和国',null);  --插入name,字符超过定义大小
     insert int
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值