Maison >base de données >tutoriel mysql >Comment implémenter correctement les boucles FOR et WHILE dans les procédures stockées MySQL ?

Comment implémenter correctement les boucles FOR et WHILE dans les procédures stockées MySQL ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-30 10:55:12720parcourir

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

Comprendre la boucle FOR de MySQL

Dans MySQL, la boucle FOR est une instruction itérative utilisée pour exécuter un bloc de code plusieurs fois. Il vous permet de parcourir une séquence de valeurs ou de lignes dans un tableau.

Erreur dans la procédure stockée fournie

La procédure stockée fournie a une syntaxe de boucle FOR incorrecte . La syntaxe correcte pour une boucle FOR dans MySQL est la suivante :

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

Procédure stockée corrigée

La version corrigée de la procédure stockée avec une boucle FOR correctement implémentée :

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 ;

Dans cet exemple, la boucle FOR itère de 1 à 5, en incrémentant a de 1 à chaque itération. La boucle se termine lorsque i atteint 6.

Syntaxe de boucle alternative : WHILE LOOP

En plus de la boucle FOR, MySQL fournit une boucle WHILE, une autre instruction itérative qui exécute un bloc de code alors qu'une condition spécifiée est vraie. Sa syntaxe est la suivante :

WHILE condition LOOP
  -- loop body
END LOOP;

Exemple :

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

Cette boucle WHILE continuera à s'exécuter jusqu'à ce que a atteigne 10.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn