我们可以在 MySQL 存储过程中使用“IF NOT IN”吗?


我们先来看看 MySQL 中 IF NOT IN 的语法 −

if(yourVariableName  NOT IN (yourValue1,yourValue2,........N) ) then
   statement1
else
   statement2
endif    

我们实现以上语法来使用 IF NOT IN −

mysql> DELIMITER //
mysql> CREATE PROCEDURE IF_NOT_INDemo(IN value int)
   ->    BEGIN
   ->       if(value NOT IN  (10,20,30) ) then
   ->          select "Value Not Found";
   ->       else
   ->          select "Value Found";
   ->       end if;
   ->    END
   -> //
Query OK, 0 rows affected (0.25 sec)
mysql> DELIMITER ;

现在使用 CALL 命令调用存储过程。

案例 1 − 找到一个值时 −

mysql> call IF_NOT_INDemo(10);

输出

+-------------+
| Value Found |
+-------------+
| Value Found |
+-------------+
1 row in set (0.00 sec)

Query OK, 0 rows affected (0.01 sec)

案例 2 - 找不到一个值时 -

mysql> call IF_NOT_INDemo(100);

输出

 +-----------------+
 | Value Not Found |
 +-----------------+
 | Value Not Found |
 +-----------------+
1 row in set (0.05 sec)

Query OK, 0 rows affected (0.07 sec)

更新日期: 2020 年 6 月 30 日

105 次浏览

开启你的 职业

完成课程即可获得认证

开始吧
广告