Précédent   Forum des professionnels en informatique > Bases de données > Oracle > SQL
SQL Forum d'entraide sur le SQL pour Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 14/02/2008, 14h33   #1
Invité de passage
 
Inscription : avril 2006
Messages : 69
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 69
Points : 3
Points : 3
Par défaut Sortir d'une procédure avec un exit à l'intérieur d'un If

Bonjour,

Est-il possible de sortir de la procedure avec un "exit" à l'intérieur d'un IF dans un code PL/SQL sans gérer les exceptions.

Ex:

Code :
1
2
3
4
5
IF test = 0
Then
- ON fait un traitement
- ON veut quitter la PROCEDURE 
End IF;
Merci pour la précisioon de la syntaxe
schumi101 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/02/2008, 14h44   #2
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
En générant une erreur que tu ignores dans l'exception :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
DECLARE
e_exit EXCEPTION;
PRAGMA 	EXCEPTION_INIT(e_exit , -20999);
BEGIN
DBMS_OUTPUT.PUT_LINE('debut');
IF 1=1 THEN
  DBMS_OUTPUT.PUT_LINE('suite');
  RAISE_APPLICATION_ERROR(-20999,NULL);
END IF;
DBMS_OUTPUT.PUT_LINE('fin');
EXCEPTION WHEN e_exit THEN NULL;
end;
/
Citation:
debut
suite

PL/SQL procedure successfully completed.
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2008, 09h09   #3
Membre éclairé
 
Inscription : août 2005
Messages : 316
Détails du profil
Informations personnelles :
Âge : 41

Informations forums :
Inscription : août 2005
Messages : 316
Points : 342
Points : 342
on peut aussi utiliser return.
Code :
1
2
3
4
5
6
7
8
9
10
DECLARE
BEGIN
DBMS_OUTPUT.PUT_LINE('debut');
IF 1=1 THEN
  DBMS_OUTPUT.PUT_LINE('suite');
  RETURN;
END IF;
DBMS_OUTPUT.PUT_LINE('fin');
end;
/
c.langlet est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h14.


 
 
 
 
Partenaires

Hébergement Web