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 en local dans un PL/SQL


Sujet :

PL/SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 12
    Par défaut Fonction en local dans un PL/SQL
    Bonjour,
    Je suis en train d'écrire un PL/SQL dans lequel je me rend compte que je pourrais mutualiser une bonne partie dans une fonction.
    Je sais bien évidemment qu'il est possible de stocker cette fonction au niveau de la base en rajoutant un CREATE or REPLACE devant le nom de la fonction.
    Par contre, je n'ai pas particulièrement besoin que cette fonction soit stocké au niveau de la base (pas de pb de perf, pas de mutualisation,...), et j'ai vu que les CREATE et REPLACE ne sont pas obligatoires.
    Du coup, je me dis qu'il devrait être ainsi possible d'avoir une fonction dont la visibilité se limite au PL/SQL. Et là, pas moyen de voir quel serait la structure de mon code.

    Pour l'instant, j'ai un truc du genre (qui marche pas):

    declare
    hv_mavariable number;
    ....
    begin
    mafonction (pouet IN number) return number
    is ...
    begin
    ....
    end;

    -- appels de la fonction
    mafonction(hv_mavariable);
    mafonction(hv_mavariable2);
    mafonction(....);
    end;

  2. #2
    Membre éclairé Avatar de rvfranck
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2004
    Messages
    746
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2004
    Messages : 746
    Par défaut
    Et c'est quoi le probleme?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 12
    Par défaut
    le problème, c'est que j'arrive pas à appeler une fonction qui se trouve en local dans mon code, et que je n'arrive à trouver aucune info sur le net (systématiquement, c'est que des fonctions stockés au niveau de la base)

  4. #4
    Expert confirmé Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Par défaut
    Voilà un exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    declare
      a number;
      --
      Function f Return Number Is
      Begin
        Return 1;
      End;
    Begin
      a := f();
      dbms_output.put_line(To_Char(a));
    end;

  5. #5
    Membre expérimenté Avatar de JerryMouse
    Homme Profil pro
    Inscrit en
    Avril 2002
    Messages
    215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2002
    Messages : 215
    Par défaut
    Effectivement, la fonction se declare dans la partie déclative du bloc qui l'utilisera.

Discussions similaires

  1. [Sql Server] Fonction de recherche dans une chaine
    Par pierre031183 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 06/01/2011, 16h16
  2. [SQL] fonction en php qui count() dans une table sql
    Par Draner dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 25/09/2007, 09h12
  3. Réponses: 2
    Dernier message: 08/04/2007, 22h24
  4. Fonction UPDATE dans un ADOQuery - SQL
    Par yanba dans le forum Bases de données
    Réponses: 1
    Dernier message: 18/03/2006, 13h53
  5. fonction équivalente à la fonction MOD (oracle) dans ms-sql
    Par rodrigue50 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 14/07/2005, 16h14

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