Bonjour,

J'aurais voulu définr un type objet avec ses méthodes (member function) à l'intérieur d'un package mais ma commande est refusée.
Est-ce que ce type de déclaration est totalement invalide ou est-ce que j'ai fait une erreur quelque part ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
create package MonPkg
as
    type    MonObjet    is object
                (   Chaine  varchar2(30)
                ,   Nombre  number(2,0)
                ,   member function Methode
                        return varchar2
                );
end;
/
Elément Package MONPKG compilé

LINE/COL ERROR
--------- -------------------------------------------------------------
3/28 PLS-00103: Encountered the symbol "OBJECT" when expecting one of the following: ( array new range record varray char_base number_base decimal date_base clob_base blob_base bfile_base table ref fixed varying sparse The symbol "record was inserted before "OBJECT" to continue.
6/37 PLS-00103: Encountered the symbol "METHODE" when expecting one of the following: := . ( ) , @ % not null range default external character
Je n'ai pas poussé plus loin vers la définition du PACKAGE BODY puisque tout le reste dépend de ce TYPE.

Je précise que ce type ne sera utilisé qu'à l'intérieur de ce package et j'aimerais éviter de l'exposer au niveau du schéma.