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 :

Paramètres optionnels dans procédure stockée ou fonction


Sujet :

PL/SQL Oracle

  1. #1
    Membre expérimenté Avatar de bossun
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 359
    Points : 1 443
    Points
    1 443
    Par défaut Paramètres optionnels dans procédure stockée ou fonction
    HEllo,

    je voudrais savoir s'il est possible d'avoir des paramètres optionnels dans une procédure stockée ou une fonction.

    si oui comment les déclarer?

  2. #2
    Expert éminent sénior
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Points : 11 862
    Points
    11 862
    Par défaut
    Oui, et dans ce cas ils doivent avoir une valeur par défaut

    Procedure X( p1 in Varchar2, p2 in Pls_integer default 10 )

    peut être appelée de 2 façons différentes:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    X( 'hello' )
    X( 'hello', 20 )

  3. #3
    Membre expérimenté Avatar de bossun
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 359
    Points : 1 443
    Points
    1 443
    Par défaut
    je pensais plutot à des paramëtres qu'on est pas obligés de spécifier quand on appelle la procédure..

    mais merci de ta réponse... elle peut m'aider...

  4. #4
    Membre éprouvé Avatar de Yorglaa
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    845
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2004
    Messages : 845
    Points : 931
    Points
    931
    Par défaut
    j'ajouterais juste que cette valeur par défaut peut aussi être NULL ce qui peut permettre de le rendre plus "transparent"...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    create or replace procedure X (p1 in Varchar2, p2 in Pls_integer default Null )
    is
    Begin
        DBMS_OUTPUT.PUT_LINE ( 'p1 = '|| p1 );
     
        If p2 is not null
        Then
        DBMS_OUTPUT.PUT_LINE ( 'p2 = '|| p2 );
        End If ;
     
    End ;
    begin
    X('jdshfadhf', 50) ;
    End ;

    Résultat :
    p1 = jdshfadhf
    p2 = 50
    begin
    X('jdshfadhf') ;
    End ;

    Résultat :
    p1 = jdshfadhf

  5. #5
    Membre confirmé
    Inscrit en
    Décembre 2003
    Messages
    493
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 493
    Points : 605
    Points
    605
    Par défaut
    non ce n'est pas nécessaire du tout . il te suffit de faire de l'overload

    PL/SQL lets you overload subprogram names and type methods. You can use the same name for several different subprograms as long as their formal parameters differ in number, order, or datatype family.

    chapter 8
    Oracle® Database PL/SQL User's Guide and Reference
    10g Release 2 (10.2)

  6. #6
    Expert éminent sénior
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Points : 11 862
    Points
    11 862
    Par défaut
    Citation Envoyé par Marc Musette
    non ce n'est pas nécessaire du tout . il te suffit de faire de l'overload

    PL/SQL lets you overload subprogram names and type methods. You can use the same name for several different subprograms as long as their formal parameters differ in number, order, or datatype family.

    chapter 8
    Oracle® Database PL/SQL User's Guide and Reference
    10g Release 2 (10.2)
    Jusqu'en 9i, cela n'était possible qu'au sein d'un package...

  7. #7
    Membre expérimenté Avatar de bossun
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 359
    Points : 1 443
    Points
    1 443
    Par défaut
    Yorglaa a répondu à ma question... merci beaucoup.


    c'est la première fois que je touche oracle.. c'est pas évident... overload sais pas ce que c'est.. je m'interesserais ça quand j'aurais un peu plus de temps...


    meric à vous

  8. #8
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2013
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2013
    Messages : 53
    Points : 130
    Points
    130
    Par défaut
    Citation Envoyé par SheikYerbouti Voir le message
    Oui, et dans ce cas ils doivent avoir une valeur par défaut

    Procedure X( p1 in Varchar2, p2 in Pls_integer default 10 )

    peut être appelée de 2 façons différentes:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    X( 'hello' )
    X( 'hello', 20 )
    il est possible aussi des faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Procedure X( p1 in Varchar2 default Null, p2 in Pls_integer default 10 )
    avec l'appel suivant pour choisir le paramètre passé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    X( p1 => 'hello' )
    X( p2 => 20 )

  9. #9
    Membre chevronné
    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Décembre 2019
    Messages
    1 162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Décembre 2019
    Messages : 1 162
    Points : 1 959
    Points
    1 959
    Par défaut
    Lol, tu réponds à un fil vieux de 15 ans

  10. #10
    Membre expert
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifié)
    Inscrit en
    Décembre 2004
    Messages
    2 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : OPNI (Objet Programmant Non Identifié)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 059
    Points : 3 204
    Points
    3 204
    Par défaut
    Citation Envoyé par vanagreg Voir le message
    Lol, tu réponds à un fil vieux de 15 ans
    Je crois qu'il y avait (dans la Taverne) un concours du plus beau déterrage de post .. est-ce un nouveau champion?

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

Discussions similaires

  1. [2008R2] Paramètre time dans Procédure stockée
    Par Invité dans le forum Développement
    Réponses: 3
    Dernier message: 16/05/2013, 16h38
  2. Probléme paramètre entrées dans procédure stockée
    Par mercure07 dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 14/02/2009, 15h18
  3. Réponses: 0
    Dernier message: 15/01/2009, 17h09
  4. Paramètre optionnel dans une fonction
    Par bractar dans le forum Langage
    Réponses: 3
    Dernier message: 10/03/2006, 18h02
  5. paramètre optionnel dans une fonction
    Par titoumimi dans le forum Langage
    Réponses: 2
    Dernier message: 02/02/2006, 16h29

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