ホームページ  >  記事  >  データベース  >  IF ロジックを使用してストアド プロシージャ内でストアド プロシージャを呼び出しますか?

IF ロジックを使用してストアド プロシージャ内でストアド プロシージャを呼び出しますか?

WBOY
WBOY転載
2023-08-29 11:05:021361ブラウズ

使用 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)

以上がIF ロジックを使用してストアド プロシージャ内でストアド プロシージャを呼び出しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。