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

PL/SQL Oracle Discussion :

Exécution et condition


Sujet :

PL/SQL Oracle

  1. #1
    Expert confirmé
    Avatar de GLDavid
    Homme Profil pro
    Service Delivery Manager
    Inscrit en
    Janvier 2003
    Messages
    2 852
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Service Delivery Manager
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 852
    Points : 4 759
    Points
    4 759
    Par défaut Exécution et condition
    Bonjour

    J'écris un script PL/SQL et je bloque sur cette partie:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    BEGIN
        SELECT id INTO equipment_type_id FROM EQUIPMENT WHERE NAME='Undefined';
        EXCEPTION
        WHEN NO_DATA_FOUND THEN
            EXEC STORAGE_PKG.CRE_EQUIPMENT_TYPE('Undefined');
            --DBMS_OUTPUT.PUT_LINE('no data found');
        END;
    END;
    En gros, je veux invoquer une procédure si la donnée n'existe pas. Le problème est le même si je remplace mon exception par un IF equipment_type_id IS NULL.
    L'erreur que j'obtiens est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ORA-06550: line 28, column 14:
    PLS-00103: Encountered the symbol "STORAGE_PKG" when expecting one of the following:
     
       := . ( @ % ;
    J'ai oublié quelque chose ?

    Merci d'avance de vos réponses.

    @++
    GLDavid
    Consultez la FAQ Perl ainsi que mes cours de Perl.
    N'oubliez pas les balises code ni le tag

    Je ne répond à aucune question technique par MP.

  2. #2
    Membre averti Avatar de xdescamp
    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 300
    Points : 442
    Points
    442
    Par défaut
    Bonjour,

    L'instruction "EXEC" n'existe pas en PL/SQL. Elle n'existe que sous SQL*Plus et remplace "BEGIN ... END;"
    En PL/SQL, il n'y a besoin de rien pour appeler une procédure de package, on met directement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    STORAGE_PKG.CRE_EQUIPMENT_TYPE('Undefined');
    De plus, la solution de "IF equipment_type_id IS NULL" ne fonctionnera pas si l'enregistrement n'existe pas dans la table.
    En PL/SQL, un SELECT ... INTO ... doit ramener une et une seule ligne. Aucune ligne généère l'exception NO_DATA_FOUND. Plusieurs lignes génère l'exception TOO_MANY_ROWS.

  3. #3
    Expert confirmé
    Avatar de GLDavid
    Homme Profil pro
    Service Delivery Manager
    Inscrit en
    Janvier 2003
    Messages
    2 852
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Service Delivery Manager
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 852
    Points : 4 759
    Points
    4 759
    Par défaut
    Bonjour

    Merci de ta réponse. En réalité, après quelques recherches, j'en étais arrivé à la même conclusion, ça m'apprendra à chercher avant de poser une question.

    Un grand merci pour ton aide.

    @++
    GLDavid
    Consultez la FAQ Perl ainsi que mes cours de Perl.
    N'oubliez pas les balises code ni le tag

    Je ne répond à aucune question technique par MP.

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

Discussions similaires

  1. [XSLT 1.0] Ordre d'exécution des conditions et vitesse de traitement
    Par vogur dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 28/12/2013, 00h21
  2. [XL-2007] Macro répétitive exécutée sous condition
    Par Nonno 94 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 18/11/2013, 11h01
  3. [2005] Temps exécution avec condition sur un CAST
    Par afrodje dans le forum Développement
    Réponses: 6
    Dernier message: 14/03/2013, 10h27
  4. Exécution sous condition: setTimeOut/clearTimeOut
    Par mathieu.smartin dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 24/11/2011, 14h25
  5. Réponses: 8
    Dernier message: 10/11/2005, 15h58

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