Oracle PL/SQL POUR BOUCLE avec exemple

Quโ€™est-ce que la boucle For ?

L'instruction ยซFOR LOOPยป est la mieux adaptรฉe lorsque vous souhaitez exรฉcuter un code un nombre de fois connu plutรดt que sur la base d'autres conditions.

Dans cette boucle, la limite infรฉrieure et la limite supรฉrieure seront spรฉcifiรฉes et tant que la variable de boucle se situe entre cette plage, la boucle sera exรฉcutรฉe.

La variable de boucle est auto-incrรฉmentale, donc aucune opรฉration d'incrรฉmentation explicite n'est nรฉcessaire dans cette boucle. La variable de boucle n'a pas besoin d'รชtre dรฉclarรฉe, car elle est dรฉclarรฉe implicitement.

FOR <loop_variable> in <lower_limit> .. <higher_limit> 
LOOP
<execution block starts>
.
.
.
<execution_block_ends>
 END LOOP;

Explication de la syntaxe :

  • Dans la syntaxe ci-dessus, le mot-clรฉ ยซ FOR ยป marque le dรฉbut de la boucle et ยซ END LOOP ยป marque la fin de la boucle.
  • La variable de boucle est รฉvaluรฉe ร  chaque fois avant d'exรฉcuter la partie exรฉcution.
  • Le bloc d'exรฉcution contient tout le code qui doit รชtre exรฉcutรฉ. La partie exรฉcution peut contenir n'importe quelle instruction d'exรฉcution.
  • La variable_boucle est dรฉclarรฉe implicitement lors de l'exรฉcution de la boucle entiรจre, et la portรฉe de cette variable_boucle sera uniquement ร  l'intรฉrieur de cette boucle.
  • Si la variable de boucle sort de la plage, le contrรดle sortira de la boucle.
  • La boucle peut fonctionner dans l'ordre inverse en ajoutant le mot-clรฉ 'REVERSE' avant lower_limit.

Exemple 1: Dans cet exemple, nous allons imprimer le nombre de 1 ร  5 en utilisant l'instruction de boucle FOR. Pour cela, nous exรฉcuterons le code suivant.

Oracle PL/SQL POUR LA BOUCLE

BEGIN
dbms Qutput.put linef.Prp.gram started.' );
FOR a IN 1 .. 5
LOOP
dbms_output.put_line(a);
END LOOP:
dbms_output.put_iine('Program completed.'); 
END;
/

Explication du code :

  • Ligne de code 2: Impression de la dรฉclaration ยซ Programme dรฉmarrรฉ ยป.
  • Ligne de code 3 : Le mot clรฉ 'FOR' marque le dรฉbut de la boucle et la variable_boucle 'a' est dรฉclarรฉe. Il aura dรฉsormais la valeur allant de 1 ร  5
  • Ligne de code 5 : Imprime la valeur de ยซ a ยป.
  • Ligne de code 6 : Le mot clรฉ 'END LOOP' marque la fin du bloc d'exรฉcution.
  • Le code de la ligne 5 continuera ร  s'exรฉcuter jusqu'ร  ce que ยซ a ยป atteigne la valeur 6, car la condition รฉchouera et le contrรดle quittera la boucle.
  • Ligne de code 7 : Impression du relevรฉ ยซ Programme terminรฉ ยป

Boucles imbriquรฉes

Les instructions de boucle peuvent รฉgalement รชtre imbriquรฉes. Les boucles externe et interne peuvent รชtre de diffรฉrents types. Dans la boucle imbriquรฉe, pour chaque valeur d'itรฉration de la boucle externe, la boucle interne sera exรฉcutรฉe entiรจrement.

Boucles imbriquรฉes

LOOP -outer
<execution block starts>
LOOP โ€” inner
<execution_part> 
END LOOP; 
<execution_block_ends> 
END LOOP;

Explication de la syntaxe :

  • Dans la syntaxe ci-dessus, la boucle externe contient une boucle supplรฉmentaire.
  • Les boucles peuvent รชtre de nโ€™importe quel type et la fonctionnalitรฉ dโ€™exรฉcution est la mรชme.

Exemple 1: Dans cet exemple, nous allons imprimer le nombre de 1 ร  3 en utilisant l'instruction de boucle FOR. Chaque numรฉro sera imprimรฉ autant de fois que sa valeur. Pour cela, nous exรฉcuterons le code suivant.

Boucles imbriquรฉes

Boucles imbriquรฉes

DECLARE 
b NUMBER;
BEGIN
dbms output put line(โ€˜Program started' );
FOR a IN 1..3 
LOOP
b:=1;
WHILE (a>=b)
LOOP
dbms output put line(a);
b:=b+1;
END LOOP;โ€ญ	
END LOOP;โ€ญ	โ€ฌ
dbms_output.put_line('Program completed' );
END;
/

Explication du code :

  • Ligne de code 2: Dรฉclaration de la variable 'b' comme type de donnรฉes 'NUMBER'.
  • Ligne de code 4: Impression de la dรฉclaration ยซ Programme dรฉmarrรฉ ยป.
  • Ligne de code 5 : Le mot clรฉ 'FOR' marque le dรฉbut de la boucle et la variable_boucle 'a' est dรฉclarรฉe. Il aura dรฉsormais la valeur allant de 1 ร  3
  • Ligne de code 7 : Rรฉinitialisation de la valeur de ยซ b ยป ร  ยซ 1 ยป ร  chaque fois.
  • Ligne de code 8 : Inner boucle tout en vรฉrifie la condition a>=b.
  • Ligne de code 10 : Imprime la valeur de ยซ a ยป tant que la condition ci-dessus est satisfaite.
  • Ligne de code 14 : Impression du relevรฉ ยซ Programme terminรฉ ยป

Rรฉsumรฉ

boucle POUR Boucle
Critรจre de sortie Quitter lorsque le compteur atteint la limite
Utilisation Bon ร  utiliser lorsque le nombre de boucles ร  exรฉcuter est connu.

Rรฉsumez cet article avec :