标签:
开始事务:begin transaction 或者 begin tran 或者 start transaction [事务名]
提交事务:commit[事务名]
回滚事务:rollback
@@error :返回上一个SQL语句的错误代号 ,没错误返回0
例如:
法一:使用@@ERROR和if判断来使用事务
declare @t int --记录累计的错误信息 set @t = 0 begin tran --启动事务 insert into Info values(‘p003‘,‘吴倩‘,‘0‘,‘n004‘,‘1990-8-12‘) set @t = @t +@@ERROR --累计错误信息 insert into Info values(‘p006‘,‘张三‘,‘1‘,‘n004‘,‘1992-3-19‘) set @t = @t +@@ERROR --累计错误信息 insert into Info values(‘p005‘,‘李四‘,‘0‘,‘n001‘,‘1991-12-24‘) set @t = @t +@@ERROR --累计错误信息 if @t<> 0 --如果累计发现有错误 ,就回滚 begin rollback end else --如果累计中没有发现错误,就提交 begin commit end
法二:使用try...catch....来使用事务
--try...catch....语句 begin try ...--不出错执行这里的语句 end try begin catch ...--如果出错执行这里的语句 end catch
begin tran begin try insert into Info values(‘p007‘,‘王五‘,‘0‘,‘n002‘,‘1991-4-1‘) insert into Info values(‘p009‘,‘张四‘,‘1‘,‘n004‘,‘1992-3-19‘) insert into Info values(‘p008‘,‘李九‘,‘0‘,‘n001‘,‘1991-12-24‘) commit end try begin catch rollback end catch
其他方法:可以使用if语句 嵌套事务
标签:
原文地址:http://www.cnblogs.com/ooip/p/4543488.html