Disons que j'ai:Appel d'une procédure de membre Oracle 11g
create type address as object (
line1 varchar2(50),
city varchar2(50),
member procedure insert_address(line1 varchar2, city varchar2)
)
/
create table address_table of address;
create type body address as
member procedure insert_address(line1 varchar2, city varchar2) is
begin
insert into address_table values (line1, city);
commit;
end insert_address;
end;
/
Comment appeler insert_address
?
En faisant ce qui suit je reçois invalid number or types of arguments
begin
address.insert_address('123 my road','london');
end;
je peux le faire et il fonctionne, mais semble être une mauvaise idée:
declare
v_address address := new address(null,null);
begin
v_address.insert_address('123 my road','london');
end;
Merci
Ce que vous ne ne semble pas beaucoup de sens. Si vous ne voulez pas que votre type soit orienté objet, mieux vaut créer un paquet simple. Il me semble que vous êtes sur le point de transférer des concepts de, disons, Java ou C# directement à PL/SQL. –