繁体   English   中英

oracle pl / sql数组

[英]oracle pl/sql arrays

我有一些数字,我想存储在一个数组中。 我将如何在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所说,如果我们知道我们正在操作的数据的数据大小,我们可以使用长度固定的VARRAYs ,这是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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM