Refは、既存のオブジェクトの一意の識別子です。このユニークな識別子を取得するには、オブジェクトテーブルを作成する必要があります。
CREATE TYPE tSomething AS OBJECT (
Name Varchar(30)
);
create table tSomething_table of tSomething;
CREATE TYPE tSomethingElse AS OBJECT (
Something REF tSomething
);
declare
tSomethingElse_obj tSomethingElse;
tSomething_ref REF tSomething;
tSomething_obj tSomething;
begin
-- insert objects into tSomething_table
insert into tSomething_table values('abc');
insert into tSomething_table values('yyy');
-- get ref one object.
select ref(p) into tSomething_ref from tSomething_table p where p.name = 'abc';
-- initialize tSomethingElse_obj;
tSomethingElse_obj := new tSomethingElse(tSomething_ref);
-- extract get real tSomething object from ref
select deref(tSomething_ref) into tSomething_obj from dual;
end;
これらのエラーはどこですか? –