首页 > 代码库 > mysql存储过程中使用事务
mysql存储过程中使用事务
1 DROP PROCEDURE IF EXISTS test_sp1 2 CREATE PROCEDURE test_sp1( ) 3 BEGIN 4 DECLARE t_error INTEGER DEFAULT 0; 5 DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET t_error=1; 6 7 START TRANSACTION; 8 INSERT INTO test VALUES(NULL, ‘test sql 001‘); 9 INSERT INTO test VALUES(‘1‘, ‘test sql 002‘); 10 11 IF t_error = 1 THEN 12 ROLLBACK; 13 ELSE 14 COMMIT; 15 END IF; 16 17 END
返回执行状态,即是提交了还是回滚了:
1 DROP PROCEDURE IF EXISTS test_sp1 2 CREATE PROCEDURE test_sp1( ) 3 BEGIN 4 DECLARE t_error INTEGER DEFAULT 0; 5 DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET t_error=1; 6 7 START TRANSACTION; 8 INSERT INTO test VALUES(NULL, ‘test sql 001‘); 9 INSERT INTO test VALUES(‘1‘, ‘test sql 002‘); 10 11 IF t_error = 1 THEN 12 ROLLBACK; 13 ELSE 14 COMMIT; 15 END IF; 16 select t_error; //返回标识位的结果集;17 END
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。