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 :

lever une EXCEPTION pour 2 blocs séparés


Sujet :

Oracle

  1. #1
    Membre du Club Avatar de atruong
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Avril 2006
    Messages : 69
    Points : 55
    Points
    55
    Par défaut lever une EXCEPTION pour 2 blocs séparés
    Est-il possible de lever une exception en la spécifiant une seule fois pour 2 blocs séparés au sein d'une procédure ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    BEGIN
     
    -- BLOC1
    BEGIN
    ..
    EXCEPTION
    END;
     
    -- BLOC2
    BEGIN
    ..
    EXCEPTION
    END;
     
    EXCEPTION
    WHEN EXCEPTION_GENERALE THEN
    ...
     
    END;

  2. #2
    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
    Oui, si elle n'est pas catchée au niveau des 2 sous block
    exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    begin
      begin
        select col1 into v_col1 from ma_table1;
      exception
        when no_data_found then
          dbms_output.put_line ('aucune ligne trouvee pour table1');
      end;
      begin
        select col1 into v_col2 from ma_table2;
      exception
        when no_data_found then
          dbms_output.put_line ('aucune ligne trouvee pour table2');
      end;
      select col1 into v_col3 from ma_table3;
    exception
       when no_data_found then
          dbms_output.put_line ('aucune ligne trouvee pour table3');
        when too_many_rows then
          dbms_output.put_line ('plus d'une ligne dans table1, table2 ou table3');
    end;
    L'exception no_data_found ne captera pas les exceptions des 2 sous-blocks, par contre too_many_rows si, car elle n'est pas captée avant.

  3. #3
    Membre du Club Avatar de atruong
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Avril 2006
    Messages : 69
    Points : 55
    Points
    55
    Par défaut
    Super !
    Bonjour plaineR et merci pour ta réponse

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

Discussions similaires

  1. Découpage d'une image pour Insertion bloc
    Par Addict` dans le forum Mise en page CSS
    Réponses: 13
    Dernier message: 24/02/2009, 18h12
  2. catcher et lever une exception "others"
    Par brassouille dans le forum PL/SQL
    Réponses: 7
    Dernier message: 23/01/2009, 14h27
  3. Lever une exception contenue dans un if ?
    Par rXpCH dans le forum Débuter avec Java
    Réponses: 5
    Dernier message: 07/07/2008, 12h44
  4. Réponses: 6
    Dernier message: 03/07/2008, 16h36
  5. [SQL]Lever une exception sans planter le code
    Par Titouf dans le forum Oracle
    Réponses: 2
    Dernier message: 25/01/2006, 16h28

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