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 :

[oracle8i] Questions concernant une procédure


Sujet :

Oracle

  1. #1
    Membre à l'essai
    Inscrit en
    Septembre 2006
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 14
    Points : 17
    Points
    17
    Par défaut [oracle8i] Questions concernant une procédure
    Bonjour a tous,
    Alors voila je suis en train de decouvrir oracle et ses procédures et j'aimerais deux petits renseignements pour résoudre des problèmes qui me semblent tres simples mais dont je ne trouve malheureusement pas la solution.

    Ma procedure a la structure suivante
    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
     
    CREATE OR REPLACE procedure stat (num) IS
    cursor V_REG is select from...
    cursor V_LIEU is select from...
     
    BEGIN
     
    for V_Ligne in V_REG LOOP
    DBMS_OUTPUT.PUT_LINE(V_Ligne.region ||' ('||V_Ligne.totalprod||' producteurs)');
    END LOOP;
     
    for V_ligne in V_LIEU LOOP
    DBMS_OUTPUT.NEW_LINE;
    DBMS_OUTPUT.PUT_LINE('	'||V_ligne.lieu ||' ('||V_ligne.totable||' b)');
    END LOOP;
     
    END;
    J'aimerais d'abord pouvoir controler que mes curseurs ne sont pas vides... brefs que les requetes retournent bien quelque chose. J'ai essayé avec les erreurs de base d'EXCEPTION sans succès. J'ai essayé des rowcount mais ca fait irremediablement planter ma proc.
    Ensuite est-il possible de verifier simplement que le parametre "num" est present dans une table particuliere et dans le cas contraire arreter l'execution de la procedure et renvoyer un message.

    Merci d'avance

    Manu

  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
    Bonjour et bienvenu sur le forum,

    Merci de commencer par lire les règles de ce forum, d'indiquer votre version d'oracle et d'utiliser les balises code qui améliore la lisibilité.

    Pour tester que votre curseur ramène quelque chose 2 solutions :

    1. soit vous utilisez la lecture du curseur avec for et vous utilisez une variable compteur dans votre boucle (ou un boolean)

    2. soit vous ouvrez votre curseur avec open, la lecture avec fetch, la fermeture avec close et vous tester en fin de boucle monCurseur%rowcount ou monCurseur%found

    Pour ce qui est d'arrêter la procédure quand vous avez trouvé votre valeur, mà encore plusieurs solutions :

    1. vous levez une exception quand vous avez trouvé la valeur que vous catchez en fin de procédure

    2. avec une variable boolean, quand vous avez trouvé la valeur vous passez la valeur à true, et vous testez ensuite ce boolean pour savoir si vous continuez ou non l'exécution de la procédure

    3. vous faites un goto quand vous avez trouver la valeur (pas très propre)

    4. ...

Discussions similaires

  1. Simple question concernant une requête
    Par RobinEF dans le forum Développement
    Réponses: 2
    Dernier message: 23/03/2012, 20h39
  2. [AC-2007] Question concernant une synchro Access/Outlook
    Par ANDROID17 dans le forum VBA Access
    Réponses: 2
    Dernier message: 10/03/2012, 22h41
  3. Réponses: 13
    Dernier message: 11/04/2010, 15h44
  4. Petite question concernant une BDD en .mdb
    Par ManuAK dans le forum Sécurité
    Réponses: 3
    Dernier message: 28/10/2009, 18h01
  5. Simple question concernant une requeTe
    Par unix27 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 17/11/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