首页 > 数据库技术 > 详细

SQL数据库—<…>事务--简单学习

时间:2015-06-01 13:03:24      阅读:298      评论:0      收藏:0      [点我收藏+]

事务


  • 一、什么是事务
    能够保证数据的一致性的代码控制,要么执行提交,要么滚回事务的初始状态
  • 二、事务的四大特性:ACID
    A:原子性-------事务不可拆开,要么执行要么回滚无中间状态
    C:一致性-------数据前后一致性
    I:隔离性-------事务在执行的过程中是不予许外界干扰的
    D:持有性-------存在硬盘上的

开始事务: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语句 嵌套事务

SQL数据库—<…>事务--简单学习

原文:http://www.cnblogs.com/ooip/p/4543488.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!