sql 事务=SQL数据库并发处理(锁 )

来源:互联网 发布:济南网络电视台直播 编辑:程序博客网 时间:2024/05/17 09:16

     所谓事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。例如,在关系数据库中,一个事务可以是一条SQL语句、一组SQL语句或整个程序。
 
     简单举个例子就是你要同时修改数据库中两个不同表的时候,如果它们不是一个事务的话,当第一个表修改完,可是第二表改修出现了异常而没能修改的情况下,就只有第二个表回到未修改之前的状态,而第一个表已经被修改完毕

    而当你把它们设定为一个事务的时候,当第一个表修改完,可是第二表改修出现了异常而没能修改的情况下,第一个表和第二个表都要回到未修改的状态!这就是所谓的事务回滚。


CREATE PROCEDURE [dbo].[PR_create_aa]@fname varchar(30) AS Begin Transaction   select  pm,gysbm  into   #a  from a;   delete from b;   insert into b (pm,gysbm)   (select pm,gysbm from  #a); If(@@ERROR > 0)   begin        Rollback Transaction        return -1;   end;  else   begin        commit transaction        return 1;   end;


方法二、

例:

存储过程

。。。

。。。

。。。。

      Begin Transaction
      If   (@@ERROR > 0)          Rollback Transaction
      else                        commit transaction



推荐阅读: