mysql结束事务的标志是什么_MySql中游标,事务,终⽌存储
过程⽅法总结
最近在项⽬开发中,有段逻辑处理,需要在⽹站,app,后台分别运⾏,这样给后期的维护带来了很⼤的不⽅便,容易遗漏app端或者后台,所以讲java代码转换成存储过程,把逻辑处理写在了mysql端,其中遇到游标,事务的处理。问题并不困难,只是容易忘记,做了⼀下总结:
DECLARE err INT DEFAULT 0;#声明⼀个整形变量err,默认值是0
DECLARE orderDone INT DEFAULT FALSE;-- 遍历游标结束标识
DECLARE cur_order CURSOR FOR SELECT id,uid,productid,amount FROM p_order WHERE state=0 AND
orderno=i_orderNo LIMIT 0,1; -- 游标的创建
DECLARE CONTINUE HANDLER FOR NOT FOUND SET orderDone=true; -- 绑定游标结束标识(该程序中没有使⽤到)
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET err=1;#当sqlexception handler捕捉到异常时,设置err=1
pro_begin:BEGIN -- 为了跳出做的准备
START TRANSACTION;-- 开始事务(创建事务点)
-- 从中取值
OPEN cur_order ; -- 打开游标
FETCH cur_order INTO intId,intUid,intPid,intOAmount; -- 使⽤游标
CLOSE cur_order; --关闭游标
以上是游标简单⽤法,因为只取第⼀个值,所以没有⽤到循环取值,游标的基本使⽤流程:定义游标,打开,使⽤,关闭
IF num>0 THEN
SET o_result = 3; -- ⼿机号已存在
LEAVE pro_begin; -- 此处是跳出存储过程,不继续执⾏
END IF;
以下是事务的回滚和提交,⼀般写于存储过程最后。mysql下载app
IF err = 1 THEN
ROLLBACK;
ELSE
COMMIT;
END IF;
end;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。