事务:简单来说事务就是为了保持数据一致性的一种手段,在事务中的sql语句作为一个整体一起向系统提交,要么都执行,要么都不执行,可以回滚到原来的状态.
事务的语法:
开始事务
begin tran(或者transaction)
提交事务:
commit tran
回滚事务
rollback tran
一般配合事务使用
@@error
系统的变量,指的是返回错误信息号.如没有错误,则返回0,也可以配合try-catch使用.
案例:
begin tran
declare @sumError int=0--定义一个存储错误新的变量
执行一条语句
set @sumError=@sumError+@@error
执行一条语句
set @sumError=@sumError+@@error
if(@sumError<>0)
begin
rollback tran--如果错误变量不为0,则回滚
ens
else
begin
commit tran--如果错误变量为0,则提交事务
end
事务的特性
1. 原子性:事务必须是原子工作单元,对于其数据修改,要么全部执行,要么全部不执行.
2. 一致性:事务在完成时,必须使所有的数据都保持一致状态,在相关数据库中,所有规则都必须应用于事务的修改,来保持所有数据的完整性.事务结束时,所有的内部数据结构都必须是正确的.
3. 隔离:由并发事务所在的修改必须在任何其他并发事务所做的修改间隔.事务识别数据时,数据所处的状态.事务不会识别中间状态的数据.这称之为可串行性,因为他能够重新装在原始数据.并且重播一系列事务,已使数据结束时的状态与原始事务执行的状态相同
4. 持久性:事务完成之后,他对于系统的影响是永久性的该修改即时出现系统故障也将一直保持.
变量声明方法
declare @name int =0
变量名称,变量类型,变量值(可以不赋初始值)
对变量的赋值的两种方法.
- 在变量声明时直接赋值.
- 使用set语法进行赋值.