码迷,mamicode.com
首页 > 数据库 > 详细

mysql 事务

时间:2019-07-31 16:59:22      阅读:115      评论:0      收藏:0      [点我收藏+]

标签:default   comm   else   案例   nsa   proc   捕获异常   事务   class   

案例1:

CREATE PROCEDURE proc_test()
BEGIN

DECLARE t_error INTEGER DEFAULT 0;-- 申明一个变量 默认为0
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET t_error=1;-- 当SQLEXCEPTION HANDLER捕捉到异常时,设置t_error=1
START TRANSACTION;-- 开始事务

-- 此处写需要执行的操作
INSERT INTO table_test(a,b,c) VALUES (a,b,c);
UPDATE table_test SET a=a1 WHERE b=b;

IF t_error = 1 THEN
    ROLLBACK;-- 如果捕获异常则回滚
ELSE
    COMMIT;-- 否则则提交执行
END IF;
SELECT t_error;-- 根据查询的t_error来判断事务执行成功还是失败

END

 

mysql 事务

标签:default   comm   else   案例   nsa   proc   捕获异常   事务   class   

原文地址:https://www.cnblogs.com/chenze-Index/p/11277241.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!