首页 > 开发 > 综合 > 正文

SQL—— 事务

2024-07-21 02:48:42
字体:
来源:转载
供稿:网友
SQL—— 事务

SQL 事务:

1. 定义:

事务是作为单个逻辑单元执行的一系列操作。 多个操作作为一个整体向系统提交,要么执行、要么都不执行,事务是一个不可分割的工作逻辑单元。这特别适用于多用户同时操作的数据通信系统。例如:订票、银行、保险公司以及证券交易系统等。

2. 事务必须具备的特性:

1) 原子性: Atomicity :事务是一个完整的操作, 个元素是不可再分的。事务中所以元素必须作为一个整体提交或回滚。如果十五中任何元素失败,则整个事务将失败。

2)一致性: Consistency: 当事务完成时,数据必须处于一致状态。

3)隔离性: Lsolation: 对数据进行修改的所有并发事务是彼此隔离的,它不以任何方式依赖或影响其他事务。

4)持久性: 不管系统是否发生了故障,事务处理的结果都是永久性的。

3. 如何执行事务:

1)开始事务: begin transaction

2) 提交事务: commit transaction

3) 回滚事务: rollback transaction

4. 事务分类

1) 显示事务: 用begin transaction 明确指定事务的开始

2) 隐式事务: 通过设置 set implicit_transactions on 语句,将隐式事务模式设置为打开。当以隐式事务模式操作时,SQlServer将在提交或回滚事务后自动启动新事务。不需要描述每个事务的开始,只要提交或回滚每个事务即可。

3) 自动提交事务: 这是SQL Server的默认模式,它将每条单独的T-SQL语句视为一个事务。如果成功执行,则自动提交。如果错误,则自动回滚。

5. 示例

XXXXXX 业务逻辑

begin transaction --开始事务

declare @error int --定义变量,累积事务执行过程中的错误

set @error = 0

----- 执行语句1

set @error = @error + @@error --累积错误

---- 执行语句2

set @error = @error + @@error --累积错误

------

--判断

if @error <> 0 --有误

begin

    PRint '回滚事务'

rollback transaction

end

else

begin

    print '提交事务'

commit transaction

end


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表