Salut à tous,
J'ai une erreur, mon paramètre semble être refoulé. Malgré un petit temps consacré à rechercher sur cette erreur je n'ai rien trouvé qui m'indique sur mon problème... Soit dit en passant : J'utilise Oracle SQL developper.
Mon appel :2 est bien susceptible de rentrer dans un number, non?
Code : Sélectionner tout - Visualiser dans une fenêtre à part select adhesionAJour(2) from dual;
Ma fonction :La fonction finValidite(number) est crée, testée et elle fonctionne correctement :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 create or replace function adhesionAJour (numAdh number) return boolean as begin /*Si la date de fin est inférieure à la date d'aujourd'hui*/ if (finValidite(numAdh) < sysdate()) then /*La date de fin d'adhésion est passée*/ return false; else /*La date de fin d'adhésion n'est pas passée*/ return true; end if; end;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 create or replace function finValidite(numeroMembre in number) return date is dateFin date; begin select add_months(adhesion, 12) into dateFin from membres where numero = numeroMembre; return dateFin; end;
Partager