Oracle
 sql >> Base de données >  >> RDS >> Oracle

Utilisation de CONTINUE dans les boucles pour reprendre le contrôle dans Oracle

L'instruction CONTINUE dans les boucles quitte l'itération actuelle d'une boucle inconditionnellement et transfère le contrôle à l'itération suivante de la boucle actuelle ou d'une boucle étiquetée englobante. Dans l'exemple ci-dessous, l'instruction CONTINUE à l'intérieur de l'instruction LOOP de base transfère le contrôle inconditionnellement à l'itération suivante de la boucle actuelle.

DECLARE
x NUMBER :=0;
BEGIN
LOOP -- Après l'instruction CONTINUE, le contrôle reprend ici
DBMS_OUTPUT.PUT_LINE ('Inside loop:x =' || TO_CHAR (x ));
x :=x + 1;

IF x <3 -- à la place this if end if condition for continue you can use also CONTINUE When x <3;
THEN
CONTINUE;
END IF;

DBMS_OUTPUT.PUT_LINE (
'Boucle intérieure, après CONTINUE :x =' || TO_CHAR (x));
EXIT WHEN x =5 ;
END LOOP ;

DBMS_OUTPUT.PUT_LINE (' After loop:x =' || TO_CHAR (x));
END;
/
La sortie du bloc ci-dessus devrait ressembler à ceci :

Boucle intérieure :x =0
Boucle intérieure :x =1
Boucle intérieure :x =2
Boucle intérieure, après CONTINUE :x =3
Boucle intérieure :x =3
Boucle intérieure, après CONTINUE :x =4
Boucle intérieure :x =4
Boucle intérieure, après CONTINUE :x =5
Boucle après :x =5