Vag*_*eev 2 oracle size plsql database-administration varray
我试图找出PL / SQL中VARRAY 的可能上限。
我们肯定可以将VARRAY类型定义为
TYPE type_name IS {VARRAY | VARYING ARRAY} (size_limit)
OF element_type [NOT NULL];
Run Code Online (Sandbox Code Playgroud)
Oracle文档中这样说:
每个varray都存储为单个对象,可以在其表的内部是一列(如果varray小于4KB),也可以在表的外部,但仍存储在同一表空间中(如果varray大于4KB)。您必须同时更新或检索varray的所有元素,这在一次对所有元素执行某些操作时最合适。但是您可能会发现以这种方式存储和检索大量元素是不切实际的。
但是size_limit参数的上限是多少?它等于无符号整数(4,294,967,295)吗?
在PL / SQL中,限制为2147483647。相同的限制适用于架构变化的数组类型。
DECLARE
TYPE t IS VARRAY(2147483647) OF NUMBER;
BEGIN
NULL;
END;
Run Code Online (Sandbox Code Playgroud)
如果增加它会抛出PLS-00325: non-integral numeric literal 2147483648 is inappropriate in this context。
| 归档时间: |
|
| 查看次数: |
6417 次 |
| 最近记录: |