Mysql存储过程的回滚
来源:互联网 发布:商业银行模拟软件 编辑:程序博客网 时间:2024/04/28 00:10
在Mysql数据据中创建存储过程执行多条SQL语句,当遇到问题时将所有的执行都回滚,这样存储过程就实现了事物操作。
实现过程:定义一个变量t_error初始值为0,再声明一条语句,如果执行SQL的时候捕获到异常,设置t_error的值为1,在存储过程前设置 autocommit = 0; 在存储过程结束的地方判断t_error的值,0则commit,1则rollback。
创建存储过程的SQL如下:
</pre><pre name="code" class="sql">DELIMITER $$CREATE DEFINER=`root`@`localhost` PROCEDURE `proTest`()BEGINDECLARE t_error INTEGER DEFAULT 0; DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET t_error=1; set autocommit=0; START TRANSACTION; INSERT INTO student VALUES(1, 'test1',1,3); /* 第一条 insert 能执行 */ INSERT INTO student VALUES('a', 'test2',3,6); /* 第二条 insert,不能执行 */ IF t_error = 0 THEN COMMIT; ELSE ROLLBACK; END IF; END
调用这个存储过程后,不会向数据库表中插入任何记录。
0 0
- Mysql存储过程的回滚
- mysql存储过程事务回滚
- MySQL存储过程事务回滚
- 回滚操作存储过程
- SQL 存储过程回滚
- 求知过程之存储过程回滚
- 一个标准存储过程和事务回滚的语法
- 存储过程(三、事务的处理和回滚)
- 调试存储过程也是有提交和回滚的
- MySQL的存储引擎造成的事务无法回滚
- MySQL的存储引擎造成的事务无法回滚
- SQL存储过程调用"事务回滚"
- [存储过程]中的事务(rollback)回滚
- sql 存储过程回滚用法
- SQL Server存储过程回滚
- [MYSQL] 存储过程 动态表名/异常处理/事物回滚/日期
- MYSQL 存储过程 动态表名/异常处理/事物回滚/日期
- mysql存储过程以"数组"形式入参实现表间复制 并实现回滚
- 0x80010105: 服务器出现意外情况
- Kafka开发环境搭建
- 如何连接电视上网
- Python初学者(零基础学习Python、Python入门)常见问题:书籍推荐、资料、社区
- 如何利用反向电话簿
- Mysql存储过程的回滚
- 全网最全的Android源码汇总
- java学习笔记(三) -- 判断 循环语句
- 如何理解IGNOU Gradecard系统
- 如何窥探手机
- AES加密在Android 和java 中的利用
- c#软件的在线升级
- 分布式消息系统Kafka初步
- 常见正则表达式