MySql 中游标,事务,终止存储过程方法总结

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;

以下是事务的回滚和提交,一般写于存储过程最后。

IF err = 1 THEN
ROLLBACK;
ELSE
COMMIT;
END IF;

end;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值