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

Langage SQL Discussion :

Appel de fonction depuis procédure stockée


Sujet :

Langage SQL

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2008
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 26
    Points : 24
    Points
    24
    Par défaut Appel de fonction depuis procédure stockée
    Bonjour,

    dans le cadre d'un travail scolaire je dois réaliser une procédure stockée et une fonction.
    la procédure et la fonction compile toutes les deux.
    mais quand je veux appeller ma fonction depuis ma procédure, il y a un message d'erreur : AndCountOeuvre n'est pas une procédure ou est indéfini.

    voici l'appelle depuis ma procédure:


    AndCountOeuvre(rec_cuLocation.Num_Location);

    voici la fonction:

    create or replace function AndCountOeuvre(f in KLAPPENBACHJ.LOCATION.NUM_LOCATION%type) return pls_integer is
    nb pls_integer;

    begin
    select count (NUM_OEUVRE) into nb
    from KLAPPENBACHJ.OEUVRE
    where NUM_OEUVRE = f;
    return(nb);
    end AndCountOeuvre;

    je suis perdu...ca fait plusieurs jours que je cherche et je n'ai rien trouvé...
    Merci d'avance pour les réponses

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    500
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 500
    Points : 639
    Points
    639
    Par défaut
    D'abord, quel est ton SGBD ?
    J'ai l'impression que c'est Oracle, donc ce que je dis après est valable pour Oracle.

    La première chose qui interpelle à la lecture de ton code est l'appel à la fonction, qui ne se fait pas comme ça, à la manière de l'appel à une procédure stockée. Tu dois appeler une fonction en l'affectant à une variable du même type de données que celui de la variable renvoyée par ta fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    toto := AndCountOeuvre(rec_cuLocation.Num_Location);
    Ensuite, tu peux exploiter le résultat en testant le contenu de toto, sinon à quoi bon utiliser une fonction si tu ne peux pas évaluer son résultat ?

    Autre chose : le RETURN. Je ne sais pas si les parenthèses autour de nb sont gênantes, en tous cas elle ne sont pas nécessaires, donc tu peux les faire sauter.

    Tiens-nous au courant quand tu auras essayé ça.

  3. #3
    Membre à l'essai
    Inscrit en
    Mars 2008
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 26
    Points : 24
    Points
    24
    Par défaut
    Merci beaucoup,

    mon sgbd est bien oracle...
    Merci pour ta réponse, ça marche!!!!!!!

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

Discussions similaires

  1. Appel d'une fonction ou procédure stockée
    Par kodo dans le forum JPA
    Réponses: 2
    Dernier message: 18/10/2011, 01h58
  2. Réponses: 1
    Dernier message: 09/04/2008, 16h48
  3. Diff entre Fonctions et Procédures Stockées
    Par say dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 28/02/2007, 12h19
  4. Diff entre Fonctions et Procédures Stockées
    Par say dans le forum Langage SQL
    Réponses: 6
    Dernier message: 28/02/2007, 12h17
  5. Appel de fonction depuis une classe fille
    Par lhpp dans le forum Interfaces Graphiques en Java
    Réponses: 8
    Dernier message: 26/04/2006, 22h02

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