MySQL 过程如何调用多个过程?

mysqlmysqli database更新于 2024/3/7 4:24:00

我们先看看语法,其中我们从存储过程调用多个过程 −

DELIMITER //
CREATE PROCEDURE yourProcedureName()
BEGIN
   CALL yourStoredProcedureName1();
   CALL yourStoredProcedureName2();
   .
   .
   N
END
//
DELIMITER //

让我们实现上述语法来调用多个存储过程。

以下是创建第一个存储过程的查询 −

mysql> DELIMITER //
mysql> CREATE PROCEDURE hello_message()
   -> BEGIN
   -> SELECT 'HELLO WORLD !!';
   -> END
   -> //
Query OK, 0 rows impacted (0.19 sec)

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

mysql> CREATE PROCEDURE hi_message()
   -> BEGIN
   -> SELECT 'HI !!!!';
   -> END
   -> //
Query OK, 0 rows affected (0.11 sec)

mysql> DELIMITER ;

以下是创建新过程以调用多个存储过程的查询−

mysql> DELIMITER //
mysql> CREATE PROCEDURE call_all_stored_procedure()
   -> BEGIN
   -> CALL hello_message();
   -> CALL hi_message();
   -> END
   -> //
Query OK, 0 rows affected (0.26 sec)

mysql> DELIMITER ;

现在您可以调用主存储过程 −

mysql> call call_all_stored_procedure();

这将产生以下输出 −

+----------------+
| HELLO WORLD !! |
+----------------+
| HELLO WORLD !! |
+----------------+
1 row in set (0.06 sec)

+---------+
| HI !!!! |
+---------+
| HI !!!! |
+---------+
1 row in set (0.06 sec)
Query OK, 0 rows affected (0.08 sec)

相关文章