Maison > base de données > tutoriel mysql > le corps du texte

Comment l'instruction MySQL LOOP est-elle utilisée dans les procédures stockées ?

WBOY
Libérer: 2023-08-26 19:13:10
avant
1257 Les gens l'ont consulté

MySQL LOOP语句如何在存储过程中使用?

MySQL nous fournit une instruction LOOP qui peut exécuter à plusieurs reprises des blocs de code et ajoute de la flexibilité dans l'utilisation des étiquettes de boucle. Nous avons les deux instructions suivantes qui nous permettent de contrôler la boucle -

Instruction LEAVE

Elle nous permet de quitter la boucle immédiatement sans attendre une vérification

ITEM STATEMENT

Elle nous permet de sauter tout le code en dessous et commencer une nouvelle itération.

Démontre l'utilisation de l'instruction LOOP avec une procédure stockée. Ce qui suit est une procédure stockée qui construit une chaîne avec des nombres pairs, tels que 2, 4, 6, 8, etc. -

mysql> Delimiter //
mysql> CREATE PROCEDURE LOOP_loop()
    -> BEGIN
    -> DECLARE A INT;
    -> DECLARE XYZ VARCHAR(255);
    -> SET A = 1;
    -> SET XYZ = '';
    -> loop_label: LOOP
    -> IF A > 10 THEN
    -> LEAVE loop_label;
    -> END IF;
    -> SET A = A + 1;
    -> IF (A mod 2) THEN
    -> ITERATE loop_label;
    -> ELSE
    -> SET XYZ = CONCAT(XYZ,A,',');
    -> END IF;
    -> END LOOP;
    -> SELECT XYZ;
    -> END //
Query OK, 0 rows affected (0.07 sec)
Copier après la connexion

Maintenant, lorsque nous appelons cette procédure, nous pouvons voir les résultats suivants -

mysql> DELIMITER ;
mysql> CALL LOOP_loop ();
+-------------+
| XYZ         |
+-------------+
| 2,4,6,8,10, |
+-------------+
1 row in set (0.04 sec)
Query OK, 0 rows affected (0.04 sec)
Copier après la connexion

Dans la requête ci-dessus, si la valeur de A est supérieure à 10, la boucle se termine à cause de l'instruction LEAVE. Si la valeur de A est impaire, l'instruction ITERATE ignore tout ce qui se trouve en dessous et démarre une nouvelle itération. Si la valeur de A est un nombre pair, le bloc de l'instruction ELSE construira la chaîne en utilisant le nombre pair.

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!

source:tutorialspoint.com
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal