可以說我有:調用在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;
/
我怎麼叫insert_address
?
通過執行以下操作,我得到invalid number or types of arguments
begin
address.insert_address('123 my road','london');
end;
我能做到這一點,它的工作原理,但似乎是一個壞主意:
declare
v_address address := new address(null,null);
begin
v_address.insert_address('123 my road','london');
end;
感謝
似乎你不多大意義。如果你不想讓你的類型表現面向對象,那麼最好創建一個簡單的包。在我看來,您即將把概念從Java或C#直接轉移到PL/SQL。 – 2010-02-24 13:24:08