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 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
select adhesionAJour(2) from dual;
2 est bien susceptible de rentrer dans un number, non?

Ma fonction :
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;
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
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;