我有一些数字,我想存储在一个数组.我将如何声明数组并在oracle pl / sql中为其分配值?
在PL / sql中有数组类型,但是我们可以使用表创建自己的数组
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;
编辑:
或者正如Adam Musch所说,如果我们知道我们正在操作的数据的数据大小,我们可以使用长度固定的VARRAY,这是oracle环境,所以下标从1开始,
另一种方法是使用VARRAY,其中数组下标从1开始,VARRAY的长度是固定的.
语义:
declare type VarrayType is varray(size) of ElementType;
示例:
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;
输出:
myArray(1) : 2 myArray(2) : 10 myArray(3) : 100 myArray(4) : 1000 myArray(5) : 10000