事务的特点和分类
原子性:事务中包括的诸多操作要么全做,要么全不做。
隔离性:一个事务执行不能被其他事务干扰。
持久性:一个事物一旦提交,它队数据库中数据的改变应该是永久的
事务有三种执行模式:显示事物,自动提交事务,隐式事务
显示事物:显示事物是以“BEGIN TRANSACTION”语句开始,以“COMMIT TRANSACTION”或“ROLLBACK TRANSACTION”结束
自动提交事物:这是SQL Server默认模式,它将每一条T-sql语句可以看成一个自动提交事物。
隐式事务:通过设“SET IMPLICIT_TRANSACTIONS ON”置开始,通过“SET IMPLICIT_TRANSACTIONS OFF”结束
例子
use shopdb
declare @salesamout int --声明变量,存放当天销量
declare @empid varchar(10) --声明变量,存放雇员编号
declare @goodsid varchar(10) --声明变量,存放商品编号
declare @errsum int --声明变量,错误累计
begin transaction--开启事物
select @empid = employeeid from employee where empname='徐如进'--找人
select @goodsid = goodsid from goods where goodsname='佳能IXUS200'--找物品
set @salesamout &#