These are cook book recipes that show, for each of the three collection types, how to iterate over their elements.
Nested tables
declare type table_varchar is table of varchar2(10); var_table_varchar table_varchar; begin var_table_varchar := table_varchar('one', 'two', 'three', 'four'); for elem in 1 .. var_table_varchar.count loop dbms_output.put_line(elem || ': ' || var_table_varchar(elem)); end loop; end; /
1: one 2: two 3: three 4: four
Index by tables
declare type assoc_varchar is table of varchar2(10) index by pls_integer; var_assoc_varchar assoc_varchar; elem varchar2(10); begin var_assoc_varchar(40) := 'forty'; var_assoc_varchar(10) := 'ten'; var_assoc_varchar(30) := 'thirty'; var_assoc_varchar(20) := 'twenty'; elem := var_assoc_varchar.first; while elem is not null loop dbms_output.put_line(elem || ': ' || var_assoc_varchar(elem)); elem := var_assoc_varchar.next(elem); end loop; end; /
10: ten 20: twenty 30: thirty 40: forty
varrays
declare type varray_varchar is varying array(20) of varchar2(10); var_varray_varchar varray_varchar; begin var_varray_varchar := varray_varchar('un', 'deux', 'trois', 'quattre'); for elem in 1 .. var_varray_varchar.count loop dbms_output.put_line(elem || ': ' || var_varray_varchar(elem)); end loop; end; /
1: un 2: deux 3: trois 4: quattre
No comments:
Post a Comment