ホームページ >データベース >mysql チュートリアル >MySQL ストアド プロシージャで FOR ループと WHILE ループを正しく実装するにはどうすればよいですか?

MySQL ストアド プロシージャで FOR ループと WHILE ループを正しく実装するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-30 10:55:12708ブラウズ

How to Correctly Implement FOR and WHILE Loops in MySQL Stored Procedures?

MySQL の FOR ループを理解する

MySQL では、FOR ループはコードのブロックを複数回実行するために使用される反復ステートメントです。これにより、テーブル内の一連の値または行を反復処理できます。

提供されたストアド プロシージャのエラー

提供されたストアド プロシージャの FOR ループ構文が正しくありません。 MySQL の FOR ループの正しい構文は次のとおりです。

FOR loop_variable IN expression1, expression2, ...
LOOP
  -- loop body
END LOOP;

修正されたストアド プロシージャ

FOR ループが適切に実装されたストアド プロシージャの修正されたバージョン:

DELIMITER $$  
CREATE PROCEDURE ABC()

   BEGIN
      DECLARE a INT Default 0 ;
      FOR i IN 1..5 LOOP
         SET a=a+1;
         select a;
      END LOOP;
END $$
DELIMITER ;

この例では、FOR ループは 1 から 5 まで繰り返し、増加します。反復ごとに 1 ずつ。 i が 6 に達するとループは終了します。

代替ループ構文: WHILE LOOP

FOR ループに加えて、MySQL には WHILE ループという、次の繰り返しステートメントが用意されています。指定された条件が true の間のコードのブロック。その構文は次のとおりです:

WHILE condition LOOP
  -- loop body
END LOOP;

例:

WHILE a < 10 LOOP
  SET a=a+1;
  select a;
END LOOP;

この WHILE ループは、a が 10 に達するまで実行され続けます。

以上がMySQL ストアド プロシージャで FOR ループと WHILE ループを正しく実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。