Home » SQL & PL/SQL » SQL & PL/SQL » multi-dimensional arrays in PL/SQL
multi-dimensional arrays in PL/SQL [message #110861] Thu, 10 March 2005 13:53 Go to next message
shooter
Messages: 44
Registered: February 2005
Member
I need to use multi-dimensional arrays in my PL/SQL procedures.

How can I define and use multi-dimensional arrays?

Thanks
Re: multi-dimensional arrays in PL/SQL [message #110865 is a reply to message #110861] Thu, 10 March 2005 14:28 Go to previous messageGo to next message
Todd Barry
Messages: 4819
Registered: August 2001
Senior Member
Here's an example using associative arrays (also called PL/SQL tables or index-by tables):

sql>declare
  2    type ele is record(a number, b varchar2(30));
  3    type arr is table of ele index by pls_integer;
  4    v_arr  arr;
  5    v_ele  ele;
  6  begin
  7    for i in 1..5 loop
  8      v_ele.a := i;
  9      v_ele.b := lpad('x', i, 'x');
 10      v_arr(i) := v_ele;
 11    end loop;
 12    for i in 1..5 loop
 13      dbms_output.put_line(v_arr(i).a || ',' || v_arr(i).b);
 14    end loop;  
 15  end; 
 16  /
1,x
2,xx
3,xxx
4,xxxx
5,xxxxx

PL/SQL procedure successfully completed.


Is this what you were looking for?
Re: multi-dimensional arrays in PL/SQL [message #110945 is a reply to message #110865] Fri, 11 March 2005 05:57 Go to previous message
shooter
Messages: 44
Registered: February 2005
Member
Yes... this is like an array of records.

It should work like this.

Thanks a lot.
Previous Topic: pl/sql help urgent........
Next Topic: How do I turn off the output in the dialog window?
Goto Forum:
  


Current Time: Wed Jul 23 23:05:46 CDT 2025