![]() |
oracle pl/sql arrays - Printable Version +- 0Day Forums (https://0day.red) +-- Forum: Coding (https://0day.red/Forum-Coding) +--- Forum: Database (https://0day.red/Forum-Database) +---- Forum: Oracle (https://0day.red/Forum-Oracle) +---- Thread: oracle pl/sql arrays (/Thread-oracle-pl-sql-arrays) |
oracle pl/sql arrays - shivery641690 - 07-31-2023 i have some numbers which i want to store in an array. how will i declare array and assign value to it in oracle pl/sql?? RE: oracle pl/sql arrays - mellifluently136227 - 07-31-2023 There are array type in PL/SQL but we can create those ourselves using the table declare type NumberArray is table of number index by binary_integer; myArray NumberArray; begin myArray(0) := 1 myArray(1) := 2 --or use a for loop to fill end; [The explanation article][1] **EDIT** : or as *Adam Musch* said if we know the data size of data, that we are operating on, we can use `VARRAYs` that are length fixed, this is `oracle` environment, so subscripts start from `1`, Alternative is using `VARRAY`, where array subscript starts from 1 and the length of VARRAYs is fixed. Semantic: declare type VarrayType is varray(size) of ElementType; Example : declare type NumberVarray is varray(100) of NUMERIC(10); myArray NumberVarray; BEGIN myArray := NumberVarray(1,10,100,1000,10000); myArray(1) = 2; for i in myArray.first..myArray.last loop dbms_output.put_line('myArray(' || i || '): ' || myArray(i)); end loop; end; END; Output : myArray(1) : 2 myArray(2) : 10 myArray(3) : 100 myArray(4) : 1000 myArray(5) : 10000 [1]:http://www.devshed.com/c/a/Oracle/Associative-Arrays-in-Oracle-PLSQL-Introduction/ |