在存储过程中使用IF逻辑调用存储过程?

在存储过程中使用IF逻辑调用存储过程?

要在存储过程中调用存储过程,语法如下 –

If yourInputValue > 100 then
     call yourProcedureName1();
 else
    call yourProcedureName2();
    end If ;
    END

让我们来实现上述语法。为了实现以上概念,让我们创建一个存储过程 –

mysql> delimiter //
mysql> create procedure Hello_Stored_Procedure()
   -> BEGIN
   -> select 'Hello World!!!';
   -> END
   -> //
Query OK, 0 rows affected (0.18 sec)

创建第二个存储过程的查询如下 –

mysql> create procedure Hi_Stored_Procedure()
   -> BEGIN
   -> select 'Hi!!!';
   -> END
   -> //
Query OK, 0 rows affected (0.17 sec)

以下查询演示了使用IF逻辑在存储过程中调用存储过程 –

mysql> DELIMITER //
mysql> create procedure test(IN input int)
   -> BEGIN
   -> If input > 100 then
   -> call Hello_Stored_Procedure();
   -> else
   -> call Hi_Stored_Procedure();
   -> end If ;
   -> END
   -> //
Query OK, 0 rows affected (0.18 sec)

现在可以通过call调用存储过程 –

mysql> delimiter;
mysql> call test(110);

这将产生以下输出 –

+ ---------------- +
| Hello World !!! |
+ ---------------- +
| Hello World !!! |
+ ---------------- +
1行记录(用时0.00秒)
查询OK,共影响0行(用时0.02秒)

阅读更多:MySQL 教程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

MySQL 教程