首页 > 数据库 > MySQL > 正文

MySQL存储过程SAVEPOINT ROLLBACK to

2024-07-24 12:57:57
字体:
来源:转载
供稿:网友
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

)


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表