それが正しい用語かどうかはわかりませんが、次のように作成されたオブジェクトに対して「メモリ内テーブル」を呼び出します。
create type InMemReg is object (field1 varchar2(10), field2 varchar2(20), field3 number);
create type InMemTab is table of InMemReg;
この場合、「メモリ内テーブル」は「InMemTab」です。私の質問は、以前に要素の数がわからない場合に、この種のオブジェクトをどのように設定できるかです。私はいくつかの場所でこのタイプの初期化を見てきました:
declare
v_uno InMemReg := InMemReg('a','b',1999);
v_dos InMemReg := InMemReg('A','Z',2000);
t_tres InMemTab := InMemTab();
begin
t_tres := InMemTab(v_uno, v_dos);
この状況では、「t_tres」を初期化する前に明示的に 2 つのオブジェクトがありますが、n 個の要素を持つことができる動的なシナリオでは、それを設定する方法がわかりません。
別の OO 言語では、次のようになります。
t_tres.add(OtherObject)