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 :

Comment définir une fonction de package public/private


Sujet :

Oracle

  1. #1
    Membre du Club
    Inscrit en
    Décembre 2003
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 102
    Points : 55
    Points
    55
    Par défaut Comment définir une fonction de package public/private
    Voila dans un package que je suis en train de créer j'aimerais rendre certain fonction et/ou procédure comme privé.
    Dans un livre j'ai vu que c'était possible, mais dans la doc oracle, je ne trouve pas .

    Alors si quelqu'un connaissait la syntaxe cela m'arrangerait.

    Merci

  2. #2
    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
    il suffit de granter ou pas les droits aux utilisateurs voulu... éventuellement tu peux aussi passer par des synonymes privé ou public

  3. #3
    Membre du Club
    Inscrit en
    Décembre 2003
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 102
    Points : 55
    Points
    55
    Par défaut
    En fait je souhaite que certains fonctions à l'intérieur d'un meme package soit public et d'autre privé.

    Certain fonction public étant basé sur celle qui sont privés et je ne veux pas que celle qui sont privé soit utilisé par d'autre fonction.

    J'ai pour habitude de granter le package en entier, si j'ai bien compris il faudrait que je grant fonction par fonction dans le package ce qui n'est pas très pratique

    T'en pense quoi?

  4. #4
    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
    ha oui je comprends... comme en java... bah là désolé mais je ne connais pas cette fonctionnalité sous Oracle...

    Apparemment ça ne dépend que de l'endroit où sont déclarés les objets... dans le body c'est les variables private et dans le specification c'est du public : http://asktom.oracle.com/pls/ask/f?p=4950:8:8067437205197698250::NO::F4950_P8_DISPLAYID,F4950_P8_CRITERIA:1312402222992

    Mais je ne l'ai jamais vu en pratique

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 7
    Points : 8
    Points
    8
    Par défaut
    Si tu déclare tes procedures ou fonctions dans l'entete du package elles seront public alors que si tu les declare seulement dans le corps du package elles pourront seulement etre utilisées dans le package donc elles seront privées.

  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
    Les fonctions publiques sont celles qui sont déclarées en entête de package, les autres sont privées, c'est à dire utilisable uniquement à l'intérieur du package :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    create or replace package monpackage is
      procedure proc_publique;
    end;
    /
    create or replace package body monpackage is
       procedure proc_privee is
       begin 
         ...
       end;
       procedure proc_publique is
       begin 
         ...
       end;
    end;
    /

  7. #7
    Membre du Club
    Inscrit en
    Décembre 2003
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 102
    Points : 55
    Points
    55
    Par défaut
    Merci à tout le monde

    C'est fait j'ai maintenant des fonctions privés et d'autre public.

    Encore

  8. #8
    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
    j'ai grillé tout le monde

  9. #9
    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 orafrance
    j'ai grillé tout le monde

    Ca mérite bien une petite hola !

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

Discussions similaires

  1. Comment définir une condition en CSS en fonction du navigateur
    Par k-koo dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 13/01/2008, 12h39
  2. Réponses: 4
    Dernier message: 24/04/2007, 13h14
  3. Comment lancer une fonction
    Par Elois dans le forum PostgreSQL
    Réponses: 7
    Dernier message: 21/04/2004, 20h10
  4. [VB6] Comment faire une fonction qui renvoie 2 résultats
    Par tazarine dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 15/01/2004, 01h13
  5. Comment chronométrer une fonction
    Par 323 dans le forum Pascal
    Réponses: 3
    Dernier message: 19/03/2003, 21h24

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