PL / SQL VARRAY的最大大小

时间:2015-11-10 00:49:27

标签: oracle plsql size database-administration varray

我正试图找出PL / SQL中VARRAY可能的上限

我们确定可以将VARRAY类型定义为

TYPE type_name IS {VARRAY | VARYING ARRAY} (size_limit) 
   OF element_type [NOT NULL];

Oracle文档可以这样说:

  

每个varray都存储为单个对象,位于表的内部   它是一列(如果varray小于4KB)或在外面   表但仍在同一个表空间中(如果varray大于   4KB)。您必须更新或检索varray的所有元素   同时,这对于执行某些操作最合适   所有的元素一下子。但是你可能会发现存储它是不切实际的   并以这种方式检索大量元素。

但是size_limit参数的上限是多少?它等于无符号整数(4,294,967,295)吗?

1 个答案:

答案 0 :(得分:4)

在PL / SQL中,限制为2147483647.相同的限制适用于模式变化的数组类型。

DECLARE
    TYPE t IS VARRAY(2147483647) OF NUMBER;
BEGIN
    NULL;
END;

如果你增加它会抛出PLS-00325: non-integral numeric literal 2147483648 is inappropriate in this context