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

MYSQL
扩展微软 SQL Server 的空间功能
SQL Server连接失败错误分析与排除(2)
SQL Server连接失败错误分析与排除(1)
数据备份中可能出错的情况及解决办法
让MySQL与ASP.NET配合更强大
实例讲解:.NET如何访问MySQL数据库
MySQL数据的导出和导入工具:mysqldump
通过分区(Partition)提升MySQL性能
在服务器上安装、使用MySQL的注意事项
MySQL中修改密码及访问限制设置详解
MYSQL初学者使用介绍
Linux应用集成MySQL数据库访问技巧
从MySQL导入导出大量数据的程序实现方法
Mysql中的临时表使用方法讲解
怎样在UNIX系统下安装MySQL
MySQL的转义字符“\”
MYSQL服务维护及应用设计笔记
MySQL简易备份方法
MySQL UDF的调试方式 - debugview
用批处理对MySQL进行数据操作

MYSQL 中的 MySQL存储过程SAVEPOINT ROLLBACK to


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 170 ::
收藏到网摘: 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

)