IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Oracle Discussion :

break/continue


Sujet :

Oracle

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2005
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 26
    Points : 14
    Points
    14
    Par défaut break/continue
    Existe-t-il des instructions de type break/continue en PL/SQL ?

  2. #2
    Expert éminent sénior
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Points : 11 862
    Points
    11 862
    Par défaut
    Il existe seulement l'instruction EXIT (permettant de quitter prématurément une boucle)

  3. #3
    Membre à l'essai
    Inscrit en
    Juillet 2005
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 26
    Points : 14
    Points
    14
    Par défaut
    Merci.

    On peut éventuellement simuler 1 continue avec 1 goto un peu comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    loop
      <<label>>
      if condition = FALSE then
       goto label;
      end if;
     
      ... Instructions svtes
    end loop;

  4. #4
    Expert éminent sénior
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Points : 11 862
    Points
    11 862
    Par défaut
    Oui, mais votre exemple n'est pas génial, puisque l'instrcution EXIT sert justement à sortir d'une boucle LOOP....

  5. #5
    Membre à l'essai
    Inscrit en
    Juillet 2005
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 26
    Points : 14
    Points
    14
    Par défaut
    Oui, en fait EXIT correspond à break, par contre avec 1 GOTO, on peut simuler 1 CONTINUE (si condition fausse, on reprend à l'itération suivante). Ceci dit, évidemment les GOTO sont à utiliser avec parcimonie.

  6. #6
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Points : 3 609
    Points
    3 609
    Par défaut
    Personnellement je trouve que travailler avec des exceptions est plus propre que d'utiliser des label :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    loop
      begin 
         if condition = FALSE then 
             raise erreur1;
         end if; 
     
         ... Instructions svtes 
      exception
         when erreur1 then
              null;
      end;  
    end loop;

  7. #7
    Membre à l'essai
    Inscrit en
    Juillet 2005
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 26
    Points : 14
    Points
    14
    Par défaut
    Citation Envoyé par plaineR
    Personnellement je trouve que travailler avec des exceptions est plus propre que d'utiliser des label :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    loop
      begin 
         if condition = FALSE then 
             raise erreur1;
         end if; 
     
         ... Instructions svtes 
      exception
         when erreur1 then
              null;
      end;  
    end loop;
    C'est une alternative intéressante.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] for imbriqués, break, continue, goto : grmpf ?
    Par StringBuilder dans le forum C#
    Réponses: 3
    Dernier message: 14/06/2012, 17h12
  2. "if else" : break / continue
    Par JohnNC dans le forum Langage
    Réponses: 7
    Dernier message: 19/02/2007, 13h28
  3. Break / continue
    Par schniouf dans le forum Langage
    Réponses: 45
    Dernier message: 30/01/2007, 21h19
  4. Réponses: 4
    Dernier message: 28/05/2006, 22h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo