Tout d'abord, je pense que ce package serait invalide, vous essayez d'ajouter un corps pour votre fonction dans la spécification de votre package. Cependant, l'idée est bonne et elle devrait fonctionner, si elle est bien faite, par exemple, créez un package :
create or replace package xyz is
procedure abc(v_frst_param in varchar2 default 'Y');
procedure abc(v_frst_param in varchar2 default 'Y', v_second_param in varchar2);
end xyz;
Et un corps de package :
create or replace package body xyz is
procedure abc(v_frst_param in varchar2 default 'Y') is
begin
dbms_output.put_line(v_frst_param);
end;
procedure abc(v_frst_param in varchar2 default 'Y', v_second_param in varchar2) is
begin
dbms_output.put_line(v_frst_param || ' / ' || v_second_param);
end;
end xyz;
Ensuite, vous voudrez peut-être faire l'appel de votre procédure :
begin
xyz.abc;
xyz.abc(); -- This is the same thing as above
xyz.abc(v_second_param => 'Maybe');
end;
Veuillez noter que si vous envoyez quelque chose comme paramètre pour v_first_parameter à cette procédure, elle utilisera la valeur que vous avez envoyée et non celle par défaut.