• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    mysql存储过程之if语句用法实例详解

    本文实例讲述了mysql存储过程之if语句用法。分享给大家供大家参考,具体如下:

    mysql中的 IF语句允许我们根据表达式的某个条件或值结果来执行一组SQL语句,所以我们要在MySQL中形成一个表达式,可以结合文字,变量,运算符,甚至函数来组合。表达式可以返回TRUE,FALSE或NULL,这三个值之一。来看下语法结构:

    IF expression THEN
      statements;
    END IF;
    
    

    如果上述表达式(expression)计算结果为TRUE,那么将执行statements语句,否则控制流将传递到END IF之后的下一个语句。咱们来看下IF语句的执行过程:

    咱们再来看下IF ELSE语句的语法结构:

    IF expression THEN
      statements;
    ELSE
      else-statements;
    END IF;
    
    

    完事就来看IF ELSE语句的执行过程:

    我们如果要基于多个表达式有条件地执行语句,则使用IF ELSEIF ELSE语句,它的语法结构如下:

    IF expression THEN
      statements;
    ELSEIF elseif-expression THEN
      elseif-statements;
    ...
    ELSE
      else-statements;
    END IF;
    
    

    如果表达式(expression)求值为TRUE,则IF分支中的语句(statements)将执行;如果表达式求值为FALSE,并且elseif_expression的计算结果为TRUE,mysql将执行elseif-expression,否则执行ELSE分支中的else-statements语句。咱们来看下具体的执行过程:

    咱们接下来使用IF ESLEIF ELSE语句和GetCustomerLevel()存储过程接受客户编号和客户级别的两个参数。首先这个GetCustomerLevel()存储过程得先从customers表中获得信用额度,完事呢,根据信用额度,它决定客户级别:PLATINUM , GOLD 和 SILVER 。参数p_customerlevel存储客户的级别,并由调用程序使用,咱们来看下具体的sql:

    DELIMITER $$
    CREATE PROCEDURE GetCustomerLevel(
      in p_customerNumber int(11),
      out p_customerLevel varchar(10))
    BEGIN
      DECLARE creditlim double;
      SELECT creditlimit INTO creditlim
      FROM customers
      WHERE customerNumber = p_customerNumber;
      IF creditlim > 50000 THEN
     SET p_customerLevel = 'PLATINUM';
      ELSEIF (creditlim = 50000 AND creditlim >= 10000) THEN
        SET p_customerLevel = 'GOLD';
      ELSEIF creditlim  10000 THEN
        SET p_customerLevel = 'SILVER';
      END IF;
    END$$
    
    

    确定客户级别的逻辑的流程图如下:

    好啦,本次分享就到这里了。

    更多关于MySQL相关内容感兴趣的读者可查看本站专题:《MySQL存储过程技巧大全》、《MySQL常用函数大汇总》、《MySQL日志操作技巧大全》、《MySQL事务操作技巧汇总》及《MySQL数据库锁相关技巧汇总》

    希望本文所述对大家MySQL数据库计有所帮助。

    您可能感兴趣的文章:
    • MySQL存储过程的创建、调用与管理详解
    • MySQL存储过程的查询命令介绍
    • MySQL存储过程in、out和inout参数示例和总结
    • MySQL修改存储过程的详细步骤
    • Mysql 存储过程中使用游标循环读取临时表
    • Mysql修改存储过程相关权限问题
    • MySQL存储过程的深入讲解(in、out、inout)
    • MySQL之存储过程按月创建表的方法步骤
    • 浅谈MySql 视图、触发器以及存储过程
    • MySQL 存储过程的优缺点分析
    上一篇:mysql存储过程之游标(DECLARE)原理与用法详解
    下一篇:mysql存储过程之case语句用法实例详解
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    mysql存储过程之if语句用法实例详解 mysql,存储,过程,之,语句,