zoukankan      html  css  js  c++  java
  • SQL server 事务实例

     简单的SQLserver事务实例:

    执行SQL 组合操作A、操作B,只有AB都执行成功时才提交事务,否则回滚事务。

     测试数据表:

    --1.数据表A
    CREATE TABLE A(
    A1 VARCHAR(10)
    ,A2 VARCHAR(10)
    );
    INSERT INTO A(A1,A2) VALUES ('00001','soulsjie');
    
    --2.数据表B
    CREATE TABLE B(
    B1 VARCHAR(10)
    ,B2 VARCHAR(100)
    );
    INSERT INTO B(B1,B2) VALUES ('6666','b0001');
    INSERT INTO B(B1,B2) VALUES ('666','b0002');
    

     

     事务实例:

    --SQL server事务
    BEGIN TRAN UpdateAandB --创建事务
    	DECLARE @AJIEGUO INT ,@BJIEGUO INT
    	UPDATE A SET A1='12345678910'; --操作A
    	SET @AJIEGUO=@@ERROR;		   --操作A的执行状态码,0表示执行成功
    
    	UPDATE B SET B2='soulsjieT'    --操作B
    	SET @BJIEGUO=@@ERROR;		   --操作B的执行状态码,0表示执行成功
    	PRINT @BJIEGUO;
    
    	IF(@AJIEGUO+@BJIEGUO=0)		   --只有操作A、操作B都成功执行时才提交事务
    		COMMIT TRAN UpdateAandB;
    	ELSE 
    		ROLLBACK  TRAN UpdateAandB;--操作A或操作B有任何一个执行失败时回滚事务
    

     

  • 相关阅读:
    报表打印
    MyGridControl
    用户控件制作时设计模式加载报错的解决办法
    代码生成工具
    上传控件的使用
    数据加密
    DevExpress介绍
    记一次手动安装pecl扩展memcache
    关于httpd.conf的一点随笔
    temp
  • 原文地址:https://www.cnblogs.com/soulsjie/p/10878499.html
Copyright © 2011-2022 走看看