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 :

Fonction pl/sql dans une clause where


Sujet :

PL/SQL Oracle

  1. #1
    Membre du Club
    Inscrit en
    Mai 2008
    Messages
    67
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mai 2008
    Messages : 67
    Points : 57
    Points
    57
    Par défaut Fonction pl/sql dans une clause where
    bonjour

    conment utiliser une fonctions pl/sql dans une condition where

    select chp1, chp2, chp3
    from table1
    where fonction(chp1)

    ma fonction retourne un type boolean
    si c 'est possible c quoi le syntaxe

    merci à vous

  2. #2
    Membre expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Points : 3 597
    Points
    3 597
    Par défaut
    Non, ce n'est pas possible

    Oracle SQL does not support calling of functions with Boolean parameters or returns. Therefore, if your user-defined functions will be called from SQL statements, you must design them to return numbers (0 or 1) or character strings ('TRUE' or 'FALSE').

  3. #3
    Membre du Club
    Inscrit en
    Mai 2008
    Messages
    67
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mai 2008
    Messages : 67
    Points : 57
    Points
    57
    Par défaut
    merci pour votre reponse

    je vais utilser ce select à l'interieur d'un program pl/sql
    pour une insertion en masse

    insert into table 2
    from table1(...)
    ma_select

    je changer le type de retoure (0 ou 1) de ma fontion ça ne marche pas
    est ce que c le bonne syntaxe?
    en plus j un message (invalid identifier)

  4. #4
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    Si tu as changé le type de retour de ta fonction, tu ne devrais plus avoir de problème
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select chp1, chp2, chp3
    from table1
    where fonction(chp1) = 1

  5. #5
    Membre du Club
    Inscrit en
    Mai 2008
    Messages
    67
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mai 2008
    Messages : 67
    Points : 57
    Points
    57
    Par défaut
    merci bp
    ça marche maintenant

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

Discussions similaires

  1. Utiliser un alias de colonne dans une clause Where MS SQL
    Par sir dragorn dans le forum Langage SQL
    Réponses: 11
    Dernier message: 12/10/2011, 10h31
  2. Utilisation d'une fonction d'agregat dans la clause Where
    Par nicolasline dans le forum Designer
    Réponses: 2
    Dernier message: 15/02/2011, 23h56
  3. Lenteur à l'utilisation d'une fonction dans une clause WHERE
    Par lacombefr dans le forum Développement
    Réponses: 2
    Dernier message: 06/04/2010, 20h50
  4. Requête sql dans une clause Where
    Par PrinceMaster77 dans le forum Requêtes
    Réponses: 5
    Dernier message: 26/07/2006, 12h30
  5. fonction booleenne dans une clause where ?
    Par user_h dans le forum Oracle
    Réponses: 1
    Dernier message: 20/10/2005, 16h05

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