zoukankan      html  css  js  c++  java
  • mysql --存储过程 退出

    mysql 存储过程不支持quit, exit或return的方式退出
    编写存储过程时,为了业务规则需要,我们可能需要提前退出存储过程
    那么,我们可以利用leave label方式模拟实现quit退出的效果应用示例,存储过程如下:

    -- 创建测试存储过程

    DELIMITER $$
    USE `study`$$
    DROP PROCEDURE IF EXISTS `updateGrade`$$
    CREATE PROCEDURE `study`.`updateGrade`(IN para_new_grade INT, IN para_old_grade INT)

    
    

    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 ;

    总结:

    注意书写格式:BEGIN前面加label:,需要退出时直接leave label;

  • 相关阅读:
    地狱少女....
    火影忍者 是时候结束了
    1942
    待查
    什么是傻瓜
    公车艳遇
    初一
    继承
    第四周学习笔记
    查找里程————mooc《面向对象程序设计——Java语言》-(浙大翁凯)第三周编程题
  • 原文地址:https://www.cnblogs.com/daijiabao/p/11289895.html
Copyright © 2011-2022 走看看