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

SQL Oracle Discussion :

Appel de fonction


Sujet :

SQL Oracle

  1. #1
    Membre expérimenté Avatar de nathieb
    Homme Profil pro
    DevOps
    Inscrit en
    Mai 2004
    Messages
    1 058
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : DevOps
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 058
    Points : 1 532
    Points
    1 532
    Par défaut Appel de fonction
    Bonjour

    je débute en PLSQL et je bute sur des questions de base.


    J'ai une fonction qui test si une valeur est nulle ou pas
    elle me renvoie vrai ou faux

    et j'ai une procédure qui doit appeler cette fonction.

    Comment l'écrit-on ?

    Je me perds dans la doc ....

    execute immediate 'mafunction' into mavariable;

    ou call // ???

    je trouve pas

    olivier
    Architecte destructurant,
    be cool, be free

    Il nous reste Debian bien sûr

  2. #2
    Membre averti
    Inscrit en
    Novembre 2002
    Messages
    549
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 549
    Points : 436
    Points
    436
    Par défaut
    Citation Envoyé par nathieb Voir le message
    Bonjour

    je débute en PLSQL et je bute sur des questions de base.


    J'ai une fonction qui test si une valeur est nulle ou pas
    elle me renvoie vrai ou faux

    et j'ai une procédure qui doit appeler cette fonction.

    Comment l'écrit-on ?

    Je me perds dans la doc ....

    execute immediate 'mafunction' into mavariable;

    ou call // ???

    je trouve pas

    olivier
    1/ bonjour
    2/ sais tu qu'il existe en SQL natif la fonction IS NULL ?
    3/ pour appeler ta fonction
    * soit directement dans un ordre SQL
    SELECT MyFunction(MyChamp) FROM MyTable;

    soit dans un bloc PL/SQL
    MaVariable:=MyFunction(MyValue);

    4/ bonne journée

    PpPool

  3. #3
    Membre expérimenté Avatar de nathieb
    Homme Profil pro
    DevOps
    Inscrit en
    Mai 2004
    Messages
    1 058
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : DevOps
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 058
    Points : 1 532
    Points
    1 532
    Par défaut houps!
    pour préciser ...
    dans un package ..

    -- Fonction de vérification du cfa not null
    FUNCTION lookup_cfa RETURN BOOLEAN
    IS
    istrue BOOLEAN := true;
    BEGIN
    if local_apprenti.nom is null then

    DBMS_OUTPUT.PUT_LINE('CFA NULL :'||local_apprenti.APPRENTI_PK);
    istrue :=false;
    end if;
    RETURN istrue;
    END;

    et la je voudrais faire

    procedure control is ...

    rep boolean;
    begin
    ...
    rep := lookup_cfa(); // Aie!

    je pense que c'est cela merci pour votre indulgence.

    Sinon pouvez vous développer le

    Select mafunction(variable) from matable;

    le select retourne quoi ?

    Merci pour la rapidité

    olivier ( tente PLSQL /TOAD / Oracle 9I )
    foutch c'est dur
    Architecte destructurant,
    be cool, be free

    Il nous reste Debian bien sûr

  4. #4
    Candidat au Club
    Homme Profil pro
    technicien progiciel et sgbd
    Inscrit en
    Janvier 2005
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : technicien progiciel et sgbd
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par nathieb Voir le message
    pour préciser ...
    dans un package ..

    -- Fonction de vérification du cfa not null
    FUNCTION lookup_cfa RETURN BOOLEAN
    IS
    istrue BOOLEAN := true;
    BEGIN
    if local_apprenti.nom is null then

    DBMS_OUTPUT.PUT_LINE('CFA NULL :'||local_apprenti.APPRENTI_PK);
    istrue :=false;
    end if;
    RETURN istrue;
    END;

    et la je voudrais faire

    procedure control is ...

    rep boolean;
    begin
    ...
    rep := lookup_cfa(); // Aie!

    je pense que c'est cela merci pour votre indulgence.

    Sinon pouvez vous développer le

    Select mafunction(variable) from matable;

    le select retourne quoi ?

    Merci pour la rapidité

    olivier ( tente PLSQL /TOAD / Oracle 9I )
    foutch c'est dur
    le select te retournera soit true soit false

    cela te permet te tester si ta fonction marche dans une simple fenetre sql.

    ex:
    /user/home/:> sqlplus user/pwd@instance
    SQL:> Select mafunction(variable) as toto from matable;
    SQL:>
    TOTO
    -------
    TRUE
    FALSE
    TRUE
    TRUE
    ...

Discussions similaires

  1. Appeler une fonction avec "action" ds un
    Par drinkmilk dans le forum ASP
    Réponses: 4
    Dernier message: 20/04/2004, 14h54
  2. Réponses: 4
    Dernier message: 19/04/2004, 13h41
  3. [JSP] Appeler une fonction
    Par Patrick95 dans le forum Servlets/JSP
    Réponses: 10
    Dernier message: 23/12/2003, 13h44
  4. Appel à des fonctions incluses dans des DLL
    Par Greybird dans le forum Langage
    Réponses: 3
    Dernier message: 26/05/2003, 13h33
  5. Appeler une fonction avec/sans parenthèses
    Par haypo dans le forum Algorithmes et structures de données
    Réponses: 8
    Dernier message: 29/12/2002, 18h48

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