MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

複数のプロシージャを呼び出すMySQLプロシージャ?


まず、ストアドプロシージャから複数のプロシージャを呼び出している構文を見てみましょう-

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 affected (0.19 sec)

2番目のストアドプロシージャを作成するためのクエリは次のとおりです-

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)

  1. MySQL Workbenchを使用してストアドプロシージャを作成しますか?

    まず、ストアドプロシージャを作成しましょう。以下は、MySQLWorkbenchを使用してストアドプロシージャを作成するためのクエリです。 use business; DELIMITER // DROP PROCEDURE IF EXISTS SP_GETMESSAGE; CREATE PROCEDURE SP_GETMESSAGE() BEGIN DECLARE MESSAGE VARCHAR(100); SET MESSAGE="HELLO"; SELECT CONCAT(MESSAGE,' ','MYSQL!!!!'); END //

  2. MySQLストアドプロシージャでNULLまたは空の変数を確認します

    NULLまたは空の変数をチェックするには、IF条件を使用します。ストアドプロシージャを作成しましょう- mysql> delimiter // mysql> create procedure checkingForNullDemo(Name varchar(20))      begin      if Name is NULL OR Name='' then      select 'Adam Smith';      else