|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : février 2006 Messages : 30 ![]() |
Bonjour,
etant relativement nouveau dans le monde du PL/SQL j essai de m adapter a patir de ce que je connais deja... 1) Je veu creer une fonction avec des arguments optionels....("Optional" dans une declaration en VBA..) ....comment faire en PL/SQL? --je sai que l on peut recreer une fonction du meme nom avec moins d arguments mais c est pas tres propre tout ca...... 2) Est - il possible de rendre des variables "Public"? (dans un package?).....une procedure appelle une fonction qui utilise plusieurs variables (et 3 ou 4 arguments ....voir "1" ))...pour rendre la fonction plus performante j aimerais declarer et associer ces variables dans la procedure, histoire de pas le faire a chaque fois que la fonction tourne.... Merci pour votre aide!! Sparal |
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() Chef de projet en SSII Inscription : janvier 2004 Messages : 2 866 ![]() |
1) oui en utilisant default :
Code :
CREATE OR REPLACE FUNCTION maFonction (a number, b varchar2 DEFAULT NULL) ... 2) Les variables "publiques" doivent être déclarées dans l'entête de package, les variables "privées" doivent être déclarées dans le package body.
__________________
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. |
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : février 2006 Messages : 30 ![]() |
SAlut,
1) Merci beaucoup pour ta reponse, j avai pas penser a declarer ma variable nulle pas defaut....malin. Si je prefere faire comme ca plutot que d avoir plisieur fonctions du meme nom , cest juste par esprit de simplification et de facilite de comprehension. Comme ces arguments sont optionels, la fonction reste exactement la meme, c est pourquoi je trouvais ca dommage de recopier la meme chose et de doubler le nombre de lignes si on peut simplement declarer cet argument optionel. Cela dit je suis sur que si ce concept de "polymorphisme" existe, il doit y avoir de bonnes raisons, mais je suis pas aller assez loin dans les subtilites de ce language pour l utiliser. 2) oki, j essairai de declarer mes variables dans l en tete (il me semblait que j avais deja essayer mais sans succes...mais bon si tu le dit..j ai du me tromper...)....mais je pense que je dois leur assigner une valeurs seulement dans la procedure?....vraI? |
|
|
00
|
|
|
#4 | |
|
Membre éprouvé
![]() Inscription : février 2004 Messages : 450 ![]() |
Citation:
On parle plutôt de surcharge d'opérateurs ou de fonctions. Le polymorphisme est la vision de 2 objets comme étant identiques tout en étant différents (manipulations identiques, mais réactions différentes). Au suivant ! . |
|
|
|
00
|
|
|
#5 |
|
Invité régulier
![]() Inscription : février 2006 Messages : 30 ![]() |
naja, ...
dans tous les cas j ai trouve ce que je cherchais..... avec le "null2 je peu bien rendre mes arguments optionels..... En declarant mes variables dans la spec et en les assignant dans le body ca marche..... Merci bien.... Sparal... |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com