END WHILE;
END|
DELIMITER ;
CALL test_leave3();
message
4 est pair
message
3 est impair
message
1 est impair
'2 est pair' n'est pas affiché, puisqu'on a quitté le IF avant cet affichage.
ITERATE : déclencher une nouvelle itération de la boucle
Cette instruction ne peut être utilisée que dans une boucle. Lorsqu'elle est exécutée, une nouvelle itération de la boucle
commence. Toutes les instructions suivant ITERATE dans la boucle sont ignorées.
Exemple : la procédure suivante affiche les nombres de 1 à 3, avec un message avant le IF et après le IF. Sauf pour le nombre 2,
qui relance une itération de la boucle dans le IF.
Code : SQL
DELIMITER |
CREATE PROCEDURE test_iterate()
BEGIN
DECLARE v_i INT DEFAULT 0;
boucle_while: WHILE v_i < 3 DO
SET v_i = v_i + 1;
SELECT v_i, 'Avant IF' AS message;
IF v_i = 2 THEN
ITERATE boucle_while;
END IF;
SELECT v_i, 'Après IF' AS message; -- Ne sera pas exécuté
pour v_i = 2
END WHILE;
END |
DELIMITER ;
CALL test_iterate();
v_i message
1
Avant IF
v_i message
1
Après IF
Partie 5 : Sécuriser et automatiser ses actions
291/414
www.openclassrooms.com
Précédent

- 291/413

Suivant