Samedi 23 juillet 2011 6 23 /07 /Juil /2011 01:05

 

PLSQL LOOP - END LOOP.

Comment utiliser LOOP en PLSQL. ?

 

Structures répétitives PLSQL.

Dans un traitement itératif la structure LOOP permet la répétition d'une séquence d'instructions.
C'est la boucle de base parmit les traitements itératifs.

Voici la principale forme itérative de l'instruction LOOP.

  • Traitement Itératif LOOP - EXIT WHEN - END LOOP.

Traitement Itératif LOOP.

  • EXIT force la sortie de la boucle sans conditions.
  • EXIT WHEN permet une sortie de boucle si la condition est vraie.
  • EXIT <<label>> WHEN permet une sortie d'une boucle nommée label si la condition est vraie.
  • EXIT <<label>> force une sortie de boucle nommée label.

Syntaxe LOOP - END LOOP.

 
<<label>>
LOOP
    instruction1;
    instruction2;
EXIT [label][WHEN condition1]
END LOOP label;

Exemple PLSQL LOOP - END LOOP.

 
Table de 1 et de 2 (multiplication).

SQL> SET SERVEROUTPUT ON;
SQL> DECLARE
        x pls_integer := 0;
        y pls_integer := 0;
     BEGIN
        LOOP
                x := x + 1;
                y := 0;
                <<label1>>
                LOOP
                        y := y + 1;
                        EXIT label1 WHEN y > 10;
                        DBMS_OUTPUT.PUT_LINE (x || ' X ' ||y || ' = ' || x*y );
                END LOOP label1;
        EXIT WHEN x = 2;
        END LOOP;
     END;
     /
1 X 1 = 1
1 X 2 = 2
1 X 3 = 3
1 X 4 = 4
1 X 5 = 5
1 X 6 = 6
1 X 7 = 7
1 X 8 = 8
1 X 9 = 9
1 X 10 = 10
2 X 1 = 2
2 X 2 = 4
2 X 3 = 6
2 X 4 = 8
2 X 5 = 10
2 X 6 = 12
2 X 7 = 14
2 X 8 = 16
2 X 9 = 18
2 X 10 = 20

Procédure PL/SQL terminée avec succès.

SQL>
 
Table de 1 et de 2 (multiplication).
SQL> SET SERVEROUTPUT ON;
SQL> DECLARE
        x pls_integer := 0;
        y pls_integer := 0;
     BEGIN
        <<label>>
        LOOP
                x := x + 1;
                y := 0;
                <<label1>>
                LOOP
                        y := y + 1;
                        EXIT label1 WHEN y > 10;
                        EXIT label WHEN x > 2;
                        DBMS_OUTPUT.PUT_LINE (x || ' X ' ||y || ' = ' || x*y );
                 END LOOP label1;
        END LOOP label;
     END;
     /
1 X 1 = 1
1 X 2 = 2
1 X 3 = 3
1 X 4 = 4
1 X 5 = 5
1 X 6 = 6
1 X 7 = 7
1 X 8 = 8
1 X 9 = 9
1 X 10 = 10
2 X 1 = 2
2 X 2 = 4
2 X 3 = 6
2 X 4 = 8
2 X 5 = 10
2 X 6 = 12
2 X 7 = 14
2 X 8 = 16
2 X 9 = 18
2 X 10 = 20

Procédure PL/SQL terminée avec succès.

SQL>

 

Haut de Page www.dba-ora.fr

Liens en rapport avec l'article et qui sont susceptibles de vous intéresser
• PL-SQL IF
• PL-SQL CASE
• PL-SQL FOR
• PL-SQL LOOP
Par Daniel Roesch - Publié dans : ORACLE PLSQL
Ecrire un commentaire - Voir les 0 commentaires
Retour à l'accueil

Rechercher Articles Oracle SQL sur ce Site.

Loading

À lire aussi…

Download PDF Oracle

Rechercher sur le site

Oracle 10G - DBA -

Syndication

  • Flux RSS des articles
Contact - C.G.U. - Rémunération en droits d'auteur - Signaler un abus - Articles les plus commentés