ホームページ >データベース >mysql チュートリアル >MySQL ストアド プロシージャで FOR ループと WHILE ループを正しく実装するにはどうすればよいですか?
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 サイトの他の関連記事を参照してください。