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 :

[PLSQL 9i] Paramètre par défaut d'une fonction


Sujet :

Oracle

  1. #1
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 74
    Points : 44
    Points
    44
    Par défaut [PLSQL 9i] Paramètre par défaut d'une fonction
    Bonjour,

    Mon problème: utiliser un nom de table par défaut pour une requête dans une fonction PLSQL.

    Je voudrais faire quelque chose du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    MAFONCTION( param1 int, param2 varchar2 default 'MATABLE')
    return varchar2 
    is
    okStatus varchar2(150);
    begin
    select monchamp into okStatus from param2 where...;
    return okStatus;
    end;
    Quelqu'un aurait il la syntaxe exacte à utiliser ? (en supposant que ce que je veux faire est possible )

    Merci par avance !

    lblgl

  2. #2
    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
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

  3. #3
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 74
    Points : 44
    Points
    44
    Par défaut
    Merci de la réponse !

    Cela vous paraît il correct ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    MAFONCTION( param1 int, param2 varchar2 default 'MATABLE')
    return varchar2 
    is
    okStatus varchar2(150);
    requete   VARCHAR2(256) ;
    begin
    requete:= ‘SELECT monchamp FROM :1 WHERE...’;
    EXECUTE IMMEDIATE requete INTO okStatus USING param2 ;
    return okStatus;
    end;
    Merci par avance,
    lblg

  4. #4
    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
    Non, c'est explique dans le tuto qu'il n'est pas possible de faire cela
    Il faut faire quelque chose comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    requete:= ‘SELECT monchamp FROM ' || param2 || ' WHERE...’;
    EXECUTE IMMEDIATE requete INTO okStatus;
    Un problème sans solution est un problème mal posé

    Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP.

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    oui mais tu récupères pas le résultat ?

  6. #6
    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
    Citation Envoyé par Fred_D
    oui mais tu récupères pas le résultat ?
    Dans okStatus ou ce sont mes yeux ?
    Un problème sans solution est un problème mal posé

    Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP.

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    faut juste que la requête ne retourne pas plus d'une ligne

  8. #8
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 74
    Points : 44
    Points
    44
    Par défaut
    merci de ces réponses (désolé de ma lecture trop hative du tutoriel )

    merci de votre aide bien précieuse.
    ps: effectivement okStatus devrait recevoir le résulat de la requête

    lblgl

  9. #9
    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
    Citation Envoyé par Fred_D
    faut juste que la requête ne retourne pas plus d'une ligne
    Ben, dans le code de départ c'est un select into donc 1 seule ligne
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

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

Discussions similaires

  1. [C#] Paramètre par défaut dans une fonction
    Par RobinJulie dans le forum Windows Forms
    Réponses: 5
    Dernier message: 18/01/2012, 14h07
  2. Paramètre par défaut dans une fonction
    Par airballman dans le forum MATLAB
    Réponses: 4
    Dernier message: 21/05/2010, 08h41
  3. Paramètre par défaut dans une fonction
    Par Rodie dans le forum Langage SQL
    Réponses: 2
    Dernier message: 12/06/2008, 10h26
  4. Paramètre par défaut d'une methode/fonction template
    Par valefor dans le forum Langage
    Réponses: 4
    Dernier message: 03/08/2007, 11h22
  5. Réponses: 2
    Dernier message: 19/03/2005, 17h09

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