je les suivantes:Oracle 11g SELF procédure de membre ne fonctionne pas
create type customer as object (
id number, name varchar2(10), points number,
member procedure add_points(num_points number)
) not final;
/
create type body customer as
member procedure add_points(num_points number) is
begin
points := points + num_points;
commit;
end add_points;
end;
/
create table customer_table of customer;
/
insert into customer_table values (customer(123,'joe',10));
/
i faites ceci est un bloc anonyme:
declare
cust customer;
begin
select treat(value(c) as customer) into cust from customer_table c where id=123;
c.add_points(100);
end;
, mais rien ne se passe - la valeur des points reste à 10.
Qu'est-ce que j'ai manqué? Si je fais ma procédure de membre un update...set...commit
et passez les points et un ID donné, cela fonctionne.
Merci.
Je sais d'avoir répondu à l'une de vos questions précédentes que vous suivez un cours de formation quelconque. Malheureusement, ils semblent vous entraîner dans des fonctionnalités plutôt mystérieuses et inutiles d'Oracle! –