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

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

WBOY
リリース: 2023-08-29 11:05:02
転載
1447 人が閲覧しました

使用 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 までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート