MySQL存储过程SAVEPOINT ROLLBACK to

  • 来源: 赛迪网 作者: 若水   2008-04-08/14:00
  •         MySQL存储过程SAVEPOINT ROLLBACK to

    示例如下:

    DELIMITER $$

     

    DROP PROCEDURE IF EXISTS `test`.`handlerdemo`$$

     

    CREATE DEFINER=`root`@`localhost` PROCEDURE `handlerdemo`()

    BEGIN

    DECLARE X2 INT;

    DECLARE CONTINUE HANDLER FOR SQLWARNING SET X2= 1;

    DECLARE CONTINUE HANDLER FOR NOT FOUND SET X2 = 2;

    DECLARE CONTINUE HANDLER FOR SQLSTATE '23000' SET X2= 3;

    DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET X2 = 4;

    START TRANSACTION;

    SAVEPOINT savepoint_1;

    BEGIN

    INSERT INTO eugene VALUES (1);

    INSERT INTO eugene VALUES (2);

    SELECT X2;

    end;

    ROLLBACK TO SAVEPOINT savepoint_1;

    iNSERT INTO eugene VALUES (3);

    END$$

     

    DELIMITER ;

     

    #测试表

    CREATE TABLE `eugene` (

    t1` int(4) default NULL

    )


    评论 {{userinfo.comments}}

    {{money}}

    {{question.question}}

    A {{question.A}}
    B {{question.B}}
    C {{question.C}}
    D {{question.D}}
    提交

    驱动号 更多