OTA*_*TAR 3 sql database oracle nested-table oracle12c
CREATE TYPE nums_list AS TABLE OF NUMBER;
Run Code Online (Sandbox Code Playgroud)
oracle的嵌套表中可能的最大行数是多少?
UPDATE
CREATE TYPE nums_list AS TABLE OF NUMBER;
CREATE OR REPLACE FUNCTION generate_series(from_n NUMBER, to_n NUMBER)
RETURN nums_list AS
ret_table nums_list := nums_list();
BEGIN
FOR i IN from_n..to_n LOOP
ret_table.EXTEND;
ret_table(i) := i;
END LOOP;
RETURN ret_table;
END;
SELECT count(*) FROM TABLE ( generate_series(1,4555555) );
Run Code Online (Sandbox Code Playgroud)
这给出了错误: ORA-22813 operand value exceeds system limits, Object or Collection value was too large
的下标为嵌套表的范围为1..2 31所以可以有2个集合中的31个元素.这个限制至少从8.1.6没有变化,当然,它可能会在未来发生变化.