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 :

PL/SQL dynamique - Alias de fonctions


Sujet :

PL/SQL Oracle

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    344
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 344
    Points : 188
    Points
    188
    Par défaut PL/SQL dynamique - Alias de fonctions
    Bonjour

    Est il possible de faire non pas du sql mais du PL/Sql dynamique ?

    Exemple : j'ai écris une proc que je veux pouvoir appeler indifféremment en étant connecté à la base (SqlPlus) ou bien par web (mod_plsql). Dans les 2 cas, les sorties ne sont pas les memes, respectivement dbms_output.* et Htp.*.

    J'ai un paramètre qui me permet de savoir par quel moyen la proc a été appelée. Mais j'en ai marre de faire le test à chaque sortie genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    If p_sortie='HTTP' Then 
       Htp.p('resultat'); 
    Else 
       dbms_output.put_line('resultat'); 
    End If;
    Il y a t-il un moyen quelconque de définir une fonction 'Sortie' à laquelle je donnerai une bonne fois pour toute la "valeur" dbms_output.put_line ou Htp.p et qui me permettrait dans le reste de mon programme d'appeler simplement Sortie('resultat') ?

    Merci à vous
    L.

  2. #2
    Membre confirmé
    Avatar de argoet
    Inscrit en
    Mai 2002
    Messages
    582
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 582
    Points : 562
    Points
    562
    Par défaut
    Quelque chose qui ressemble à ceci ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Create Or Replace Procedure Sortie (P_sortie Varchar2 , V_Resultat Varchar2) Is
    Begin
       If P_sortie='HTTP' Then
          Htp.p(V_resultat);
       Else
          dbms_output.put_line(V_resultat);
       End If;
    End Sortie;
    Signé : Capitaine Jean-Luc Picard

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    344
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 344
    Points : 188
    Points
    188
    Par défaut
    Bonjour Argoet

    Euh.. oui, effectivement, c'est tout bête, je n'y avais pas pensé !

    J'étais en train d'imaginer un truc "à la python" ou "à la javascript" genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    If ... Then my_fonction := htp.p(); 
    Else my_fonction := dbms_output.put_line(); 
    End If;
    Merci à toi !

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

Discussions similaires

  1. Sql dynamique dans les fonctions
    Par mello dans le forum Requêtes
    Réponses: 21
    Dernier message: 11/07/2011, 11h20
  2. SQL dynamique dans une fonction définie par l'utilisateur
    Par messalux dans le forum Développement
    Réponses: 7
    Dernier message: 11/11/2010, 09h25
  3. Réponses: 13
    Dernier message: 13/08/2007, 14h29
  4. Réponses: 14
    Dernier message: 10/01/2007, 10h12
  5. Réponses: 17
    Dernier message: 13/07/2006, 12h52

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