PLS 00307 En instanciant un objet
J'utilise oracle 11G et la version 11.2.0.2.0 de pl/sql. Je suis plutôt un debutant sous oracle et sql en general. Le code suivant
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
create or replace type chapeau
as object
(
id_donnee varchar2(255),
valeur_anormale varchar2(255),
pourcentage number,
constructor function chapeau(idt varchar2, valeur varchar2, compte number) return self as result
)
create or replace type body chapeau as
constructor function chapeau(idt, valeur, compte) return self as result as
begin
self.id_donnee := idt;
self.valeur_anormale := valeur;
self.pourcentage := 400;
return;
end;
end;
declare
r chapeau := new chapeau('titi', 'toto ', 23);
begin
dbms_output.put_line(r.pourcentage);
end; |
me renvoie l'erreur
Code:
1 2 3 4 5 6 7 8
| l.2, col.18
PLS 00307 : trop de declarations de chapeau correspondent à cet appel
l.2, col.3
Item ignored
l.4, col.22
PLS00320 :declaration de type de cette expression imcomplete ou mal structurée
l.4, col.1
Statement ingnored |
J'avais justement fait attention à appeler mon objet chapeau pour être sûr de ne pas avoir de conflit.