在 MySQL 存储过程中设置条件


若要在存储过程中设置条件,在 MySQL 中使用 IF...ELSE。以下是 if-else 的语法 −

IF yourCondition then
      yourStatement1,
 ELSE    
      yourStatement2,
 END IF;

让我们在一个存储过程中实现以上语法 −

mysql> DELIMITER //
mysql> CREATE PROCEDURE IF_ELSE_DEMO(IN value int)
   -> BEGIN
   ->    SET @val=value;
   ->    IF @val > 10 then
   ->       select concat(@val,' is greater than 10');
   ->    ELSE
   ->        select concat(@val,' is less than 10 ');
   ->    END IF;
   -> END;
   -> //
Query OK, 0 rows affected (0.16 sec)
mysql> DELIMITER ;

现在你可以使用 CALL 命令调用存储过程 −

mysql> call IF_ELSE_DEMO(18);

这将产生以下输出 −

+------------------------------------+
| concat(@val,' is greater than 10') |
+------------------------------------+
| 18 is greater than 10              |
+------------------------------------+
1 row in set (0.03 sec)
Query OK, 0 rows affected (0.04 sec)

更新于: 2019 年 12 月 10 日

654 次浏览

开启你的 职业

完成课程以获取认证

开始
广告