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.

順序 選擇 循環 總結


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM