mysql 存儲過程不支持quit, exit或return的方式退出
編寫存儲過程時,爲了業務規則須要,咱們可能須要提早退出存儲過程
那麼,咱們能夠利用leave label方式模擬實現quit退出的效果應用示例,存儲過程以下:mysql
-- 建立測試存儲過程
DELIMITER $$
USE `study`$$
DROP PROCEDURE IF EXISTS `updateGrade`$$
CREATE PROCEDURE `study`.`updateGrade`(IN para_new_grade INT, IN para_old_grade INT)sql
label:BEGIN
DECLARE var_grade_count INT;
SELECT COUNT(grade) INTO var_grade_count FROM students WHERE grade = para_old_grade;
IF 0 = var_grade_count THEN
SELECT var_grade_count;
LEAVE label; # 退出存儲過程
ELSE
UPDATE students SET grade = para_new_grade WHERE grade = para_old_grade;
END IF;
SELECT var_grade_count; # 打印變量值
END$$測試
DELIMITER ;ui
總結:spa
注意書寫格式:BEGIN前面加label:,須要退出時直接leave label;code