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 :

appeler fonction booléenne dans un select


Sujet :

PL/SQL Oracle

  1. #1
    Futur Membre du Club
    Inscrit en
    Février 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 7
    Points : 6
    Points
    6
    Par défaut appeler fonction booléenne dans un select
    Bonjour,

    je souhaite appeler cette fonction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FUNCTION tst_unite_existe (ps_cd_unite IN VARCHAR2) RETURN BOOLEAN IS...
    dans un select basique:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    select * from dba_puma.tr_avis a
    where pu_pck_sys_test.tst_unite_existe(a.lab_code)=1
    résultat:
    ORA-06552: statement ignored
    ORA-06553: PLS-382: expression is of wrong type
    à savoir: a.lab_code est de type varchar2.

    j'ai trouvé un paragraphe ici
    qui affirmerait qu'oracle est incompatible avec des fonctions booléennes à moins que l'on retourne 0/1 ou true/false...

    J'ai essayé de caster les types, mais je ne m'en sors pas....
    merci!

  2. #2
    Futur Membre du Club
    Inscrit en
    Février 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 7
    Points : 6
    Points
    6
    Par défaut inrésolvable par un select
    cf post du 27/08 à 10h45

  3. #3
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    c'est pas plus simple de changer le type de sortie de la fonction.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations forums :
    Inscription : Mai 2008
    Messages : 75
    Points : 95
    Points
    95
    Par défaut
    Les fonctions appélées dans des requêtes SQL doivent retourner des types de données valides SQL. Elles ne peuvent pas retourner des types de données spécifiques à PL/SQL comme BOOLEAN ou RECORD. Dailleurs c pareil pour les parametres en entrée de la fonction.

  5. #5
    Futur Membre du Club
    Inscrit en
    Février 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 7
    Points : 6
    Points
    6
    Par défaut alternative
    pour répondre à l'administrateur:
    je n'ai pas le droit de toucher aux fonctions;

    mais oui, j'ai créé une fonction qui appelle l'originelle:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    function f_appel_unite_egi(appel_unite in varchar2)return varchar2 is
    code_unite VARCHAR2(255);
    res_unite varchar2(1);
    begin
    if pu_pck_sys_test.tst_unite_existe(code_unite) then res_unite:='1';
    else res_unite:='0';
    end if;
    return res_unite;
    end f_appel_unite_egi;

  6. #6
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    quelle drole d'idée retourner un VARCHAR pour y mettre 0 ou 1

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

Discussions similaires

  1. appeler une fonction js dans un select sur onChange
    Par laurentSc dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 04/04/2011, 13h51
  2. Appel fonction php dans code javascript
    Par licorne dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 05/03/2008, 10h55
  3. cgi/javascript : appeler fonction javascript dans code cgi, need help!
    Par Mr.ux dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 06/12/2007, 07h33
  4. appeler fonction JS dans open.window
    Par bobic dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 14/03/2007, 15h06
  5. appeller une Vue dans un Select
    Par DR. dans le forum Langage SQL
    Réponses: 2
    Dernier message: 14/12/2004, 16h59

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