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

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)

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

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 row in set (0.00 sec)
Query OK, 0 rows affected (0.02 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