MySql 存储过程 退出
mysql不支持quit, exit或return的方式退出
编写存储过程时,为了业务规则需要,我们可能需要提前退出存储过程
那么,我们可以利用leave label方式模拟实现quit退出的效果
应用示例,存储过程如下:
1 DELIMITER $$ 2 USE `study`$$ 3 DROP PROCEDURE IF EXISTS `updateGrade`$$ 4 CREATE PROCEDURE `study`.`updateGrade`(IN para_new_grade INT, IN para_old_grade INT) 5 6 label:BEGIN 7 DECLARE var_grade_count INT; 8 9 SELECT COUNT(grade) INTO var_grade_count FROM students WHERE grade = para_old_grade; 10 IF 0 = var_grade_count THEN 11 SELECT var_grade_count; 12 LEAVE label; # 退出存储过程 13 ELSE 14 UPDATE students SET grade = para_new_grade WHERE grade = para_old_grade; 15 END IF; 16 17 SELECT var_grade_count; # 打印变量值 18 19 END$$ 20 21 DELIMITER ;
本地调用,亲测效果正常。
总结:
注意书写格式:BEGIN前面加label:,需要退出时直接leave label;
Good Good Study, Day Day Up.
顺序 选择 循环 总结