zoukankan      html  css  js  c++  java
  • mysql 存储过程 事务处理 (转)

    BEGIN

        DECLARE t_error INTEGER DEFAULT 0;    

        DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET t_error=1;

        START TRANSACTION;

        #这边放sql语句,涉及到的表必须都为InnoDB

        IF t_error = 1

        THEN         

        ROLLBACK;     

        ELSE        

      COMMIT;   

     END IF;

    END

    http://www.cnblogs.com/bossikill/p/3682839.html

    mysql存储过程中使用事务

    DROP PROCEDURE IF EXISTS  test_sp1 
     CREATE PROCEDURE test_sp1( ) 
        BEGIN 
        DECLARE t_error INTEGER DEFAULT 0; 
        DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET t_error=1; 
     
            START TRANSACTION; 
                INSERT INTO test VALUES(NULL, 'test sql 001');    
                INSERT INTO test VALUES('1', 'test sql 002');    
     
            IF t_error = 1 THEN 
                ROLLBACK; 
            ELSE 
                COMMIT; 
            END IF; 
     
     END

    返回执行状态,即是提交了还是回滚了:

    DROP PROCEDURE IF EXISTS  test_sp1
    CREATE PROCEDURE test_sp1( ) 
        BEGIN 
        DECLARE t_error INTEGER DEFAULT 0; 
        DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET t_error=1; 
     
            START TRANSACTION; 
                INSERT INTO test VALUES(NULL, 'test sql 001');    
                INSERT INTO test VALUES('1', 'test sql 002');    
     
            IF t_error = 1 THEN 
                ROLLBACK; 
            ELSE 
                COMMIT; 
            END IF; 
       select t_error;   //返回标识位的结果集;
    END

  • 相关阅读:
    map和cmath
    优先级队列queue
    algorithm头文件(sort 函数)
    12
    利用sqlmap简单注入dvwa
    集群高可用之lvs+keepalive
    集群高可用之lvs
    zabbix的配置之新版微信报警(二)
    Python升级版本2.6到2.7
    zabbix的安装(一)监控os资源:内存,cpu,io,负载,带宽
  • 原文地址:https://www.cnblogs.com/xihong2014/p/5500362.html
Copyright © 2011-2022 走看看