当前位置: 首页 > 图文教程 > 数据库 > MYSQL > MySQL存储过程SAVEPOINT ROLLBACK to

MYSQL
SQL Server数据库对上亿表的操作
MyISAM和InnoDB的异同
带你轻松的接触用于Mysql元数据的UTF8
校对确定 较为复杂的一些特殊情况
带你轻松接触Mysql校对效果的示例
快速的掌握MySQL支持的操作系统
教你快速掌握Mysql ENUM和SET约束
MaxDB和MySQL之间的特性差异
带你轻松接触Mysql事务和原子操作
怎样在ANSI模式下运行MySQL
怎样使MySQL在攻击者面前保持安全
mysql_data_seek函数详解
如何解决MYSQL不能自动启动的问题
MySQL5.1新特性 日志的增强
一个实例讲解MySQL查询优化
MySQL_常用查询的例子
学习使用数据库MySQL
管理控制:MYSQL数据库常用命令列表
让新装上的MYSQL数据库更加安全
初学者必读 MySQL数据库常见问题汇总

MYSQL 中的 MySQL存储过程SAVEPOINT ROLLBACK to


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 137 ::
收藏到网摘: n/a

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

)