| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
Home -> Community -> Usenet -> c.d.o.server -> populating a nested collection in an object type
Hi
I'm trying to pass through a user defined object type as a PL/SQL parameter. The object type has a sub collection though and I am unsure how to populate the parameter.
I have created the following objects:
create or replace type mt535bal as object( isin varchar2(12) , amount number );
create or replace type mt535bals as table of mt535bal;
create or replace type mt535hold as object( safekeeping varchar2(14) , mt535bals mt535bal );
create or replace type mt535holds as table of mt535hold;
so far so good!
My PL/SQL procedure is thus:
1 create or replace procedure main_prog as
2
3 v_holding mt535bals := mt535bals();
4 v_mt535holds mt535holds := mt535holds() ;
5 i number;
6 x number;
7 begin
8 for x in 1..2 loop
9 v_mt535holds.extend;
10 for i in 1..3 loop
11 v_holding.extend;
12 v_holding(i) := mt535bal ('GBP', 100+i);
13
14 end loop;
15 v_mt535holds(x) := mt535hold(x, v_holding);
16
17 end loop;
18 sub_prog(v_mt535holds);
19 end;
19 /
20 show errors;
The problem is line 15 - the reference to v_holding. But I'not sure how to populate v_mt535holds with the sub collection in the variable v_holding!
The error is
14/22 PLS-00306: wrong number or types of arguments in call to
'MT535HOLD' Thanks Received on Thu Oct 24 2002 - 07:55:20 CDT
![]() |
![]() |