plsql - How to add values to a VARRAY using a loop -
i have varray , want add elements varray using loop. have tried far.
declare type code_array_ varray(26) of varchar2(6); codes_ code_array_; begin in 1..26 loop codes_(i) := dbms_random.string('u',6); end loop; end; above code gives me error
"ora-06531: reference uninitialized collection"
as error message says, need initialise collection variable:
... begin codes_ := code_array_(); ... but need size it, either single extension each time around loop:
in 1..26 loop codes_.extend; ... or one-off extension before start:
... begin codes_ := code_array_(); ... codes_.extend(26); in 1..26 loop ... you use post-extend size control loop, save hard-coding 26 again:
declare type code_array_ varray(26) of varchar2(6); codes_ code_array_; begin codes_ := code_array_(); codes_.extend(26); in 1..codes_.count loop codes_(i) := dbms_random.string('u',6); end loop; end; / pl/sql procedure completed.
Comments
Post a Comment