PL/SQL : équivalent au continue ?!?
Fermé
batmat
Messages postés
1871
Date d'inscription
jeudi 1 novembre 2001
Statut
Membre
Dernière intervention
9 janvier 2008
-
28 avril 2003 à 14:05
Utilisateur anonyme - 23 mars 2011 à 13:49
Utilisateur anonyme - 23 mars 2011 à 13:49
A voir également:
- Sql continue
- Logiciel sql - Télécharger - Bases de données
- Hotmail continue ✓ - Forum Hotmail / Outlook.com
- Problème avec Outlook - Forum Hotmail / Outlook.com
- Question messagerie hotmail - Forum Hotmail / Outlook.com
- Strike f1 to continue ✓ - Forum Matériel & Système
10 réponses
ranjok
Messages postés
309
Date d'inscription
mardi 19 février 2008
Statut
Membre
Dernière intervention
23 avril 2019
35
7 avril 2009 à 08:59
7 avril 2009 à 08:59
Je retire ce que j'ai dit
Utilisez GOTO <<label>> pour l'équivalent de CONTINUE de SQL Server et C++
Utilisez GOTO <<label>> pour l'équivalent de CONTINUE de SQL Server et C++
saluuut
j ai besoin de votre aide,il faut que je dommande a l utilisateur d entrer un nombre N ,et je dois afficher les N premiers employes de la tabe,an stockant le nombre N dans une valeur.
merciii
j ai besoin de votre aide,il faut que je dommande a l utilisateur d entrer un nombre N ,et je dois afficher les N premiers employes de la tabe,an stockant le nombre N dans une valeur.
merciii
tu n'as qu'a introduire "exit" dans l'instruction "IF" pour sortir de la boucle loop...
sinon tu peux aussi utiliser d'autres types de boucles...
comme ....
i=0
Sort_de_la_boucle = false
LOOP WHILE (Sort_de_la_boucle) or ( i =10)
i++
IF pof(i)=2 THEN
Sort_de_la_boucle = true;
END IF;
...
END LOOP
essaie et répond moi... si j'ai pas oublié
sinon tu peux aussi utiliser d'autres types de boucles...
comme ....
i=0
Sort_de_la_boucle = false
LOOP WHILE (Sort_de_la_boucle) or ( i =10)
i++
IF pof(i)=2 THEN
Sort_de_la_boucle = true;
END IF;
...
END LOOP
essaie et répond moi... si j'ai pas oublié
batmat
Messages postés
1871
Date d'inscription
jeudi 1 novembre 2001
Statut
Membre
Dernière intervention
9 janvier 2008
114
28 avril 2003 à 15:49
28 avril 2003 à 15:49
Je croyais pourtant avoir posé clairement la question... En me relisant, je dirais même que j'en suis sûr ;-p.
Je ne cherche pas à savoir comment on sort d'une boucle : en effet, je connais l'instruction EXIT.
Si tu as lu toute la question, je cherche l'équivalent du "continue" en C pour le PL/SQL : C'est à dire, dès que cette instruction est exécutée on rattaque la loop avec l'indice suivant sans avoir exécutée aucune instruction après ce "continue" PL/SQL.
Ici tu me fais quitter la boucle : ce n'est pas ce que je cherche.
En gros, je valide un tableau, et y a des conditions qui valident en une fois l'élément en cours => donc je passe direct à l'élement suivant mais SURTOUT pas quitter.
Voilà chui pas sûr de pas avoir été dans cette réponse moins clair que la question d'origine, mais j'espère quand même qu'un fort répondra ;)
@++
-------------------
Vous hésitez entre Linux et Windows?
Vous voulez dépenser du temps ou de l'argent ?
Je ne cherche pas à savoir comment on sort d'une boucle : en effet, je connais l'instruction EXIT.
Si tu as lu toute la question, je cherche l'équivalent du "continue" en C pour le PL/SQL : C'est à dire, dès que cette instruction est exécutée on rattaque la loop avec l'indice suivant sans avoir exécutée aucune instruction après ce "continue" PL/SQL.
Ici tu me fais quitter la boucle : ce n'est pas ce que je cherche.
En gros, je valide un tableau, et y a des conditions qui valident en une fois l'élément en cours => donc je passe direct à l'élement suivant mais SURTOUT pas quitter.
Voilà chui pas sûr de pas avoir été dans cette réponse moins clair que la question d'origine, mais j'espère quand même qu'un fort répondra ;)
@++
-------------------
Vous hésitez entre Linux et Windows?
Vous voulez dépenser du temps ou de l'argent ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
soit j'ai encore pas pigé, ... soit tu es en train de te noyer dans un ver d'eau...
dans les deux cas un fort répendra!!!
dans les deux cas un fort répendra!!!
batmat
Messages postés
1871
Date d'inscription
jeudi 1 novembre 2001
Statut
Membre
Dernière intervention
9 janvier 2008
114
29 avril 2003 à 09:58
29 avril 2003 à 09:58
C'est pas la peine de t'énerver ;-)
Est ce que tu as déjà programmé en C ou en C++ ? Je crois me souvenir que cette instruction est aussi présente en Java.
Quand dans une boucle tu veux passer directement à l'itération suivante, tu écris simplement l'instruction "continue;" .
c'est le contraire du break; (en C) qui lui, sort de la boucle et c'est ce que tu me propose avec le EXIT en PL/SQL ! Or j'ai bien dit que je ne voulais pas m'arrêter.
Soit tu comprends cette question et tu sais répondre, soit tu ne réponds pas et tu ne pourries pas le forum. Quand je ne sais pas répondre, je change de topic moi... Et cherche un peu, tu verras que j'ai déjà répondu à quelques sujets.
Allez, sans rancune et @+
Putain chsens que ça va troller...
-------------------
Vous hésitez entre Linux et Windows?
Vous voulez dépenser du temps ou de l'argent ?
Est ce que tu as déjà programmé en C ou en C++ ? Je crois me souvenir que cette instruction est aussi présente en Java.
Quand dans une boucle tu veux passer directement à l'itération suivante, tu écris simplement l'instruction "continue;" .
c'est le contraire du break; (en C) qui lui, sort de la boucle et c'est ce que tu me propose avec le EXIT en PL/SQL ! Or j'ai bien dit que je ne voulais pas m'arrêter.
Soit tu comprends cette question et tu sais répondre, soit tu ne réponds pas et tu ne pourries pas le forum. Quand je ne sais pas répondre, je change de topic moi... Et cherche un peu, tu verras que j'ai déjà répondu à quelques sujets.
Allez, sans rancune et @+
Putain chsens que ça va troller...
-------------------
Vous hésitez entre Linux et Windows?
Vous voulez dépenser du temps ou de l'argent ?
Il y a une solution avec le GOTO Ca peut rebuter des puristes, mais cela correspond à un équivalent du continue;
FOR i IN 1..50 LOOP
IF done THEN
GOTO end_loop;
END IF;
...
<<end_loop>>
NULL; -- an executable statement
END LOOP;
FOR i IN 1..50 LOOP
IF done THEN
GOTO end_loop;
END IF;
...
<<end_loop>>
NULL; -- an executable statement
END LOOP;
Bonjour,
J'ai le même problème, je pense que je vais m'orienter plutôt vers une structure du type
FOR i in 1..10
LOOP
IF NOT pof(i)=2 THEN
/* j'effectue réellement ma boucle loop */
END IF;
END LOOP;
Je pense qu'à priori ca doit résoudre le problème.
Amicalement
J'ai le même problème, je pense que je vais m'orienter plutôt vers une structure du type
FOR i in 1..10
LOOP
IF NOT pof(i)=2 THEN
/* j'effectue réellement ma boucle loop */
END IF;
END LOOP;
Je pense qu'à priori ca doit résoudre le problème.
Amicalement
ranjok
Messages postés
309
Date d'inscription
mardi 19 février 2008
Statut
Membre
Dernière intervention
23 avril 2019
35
6 avril 2009 à 15:17
6 avril 2009 à 15:17
Il semble que CONTINUE existe en Oracle!!! Selon cet article il y a EXIT et CONTINUE pour sortir ou recommencer une boucle: http://www.demos.fr/formation-oracle-plsql-et-objets-proceduraux-stockes/5275.htm
La réponse est ici:
http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28370/controlstructures.htm
http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28370/controlstructures.htm
Bonjour,
Excellente trouvaille et très intéressant, étant actuellement en pleine programmation
de rapports en PLSQL sous TOAD.
Est-ce que tu connais TOAD ?
Actuellement je fais des recherches pour savoir pourquoi TOAD 9.7 plante
lorsque je débugue mes rapports lors de l'instruction [ PIPE ROW v_Record; ].
Est-ce que tu connais ce problème ?
Cdt
Lupin
Excellente trouvaille et très intéressant, étant actuellement en pleine programmation
de rapports en PLSQL sous TOAD.
Est-ce que tu connais TOAD ?
Actuellement je fais des recherches pour savoir pourquoi TOAD 9.7 plante
lorsque je débugue mes rapports lors de l'instruction [ PIPE ROW v_Record; ].
Est-ce que tu connais ce problème ?
Cdt
Lupin