我面前有一段这样的代码:
FOR row IN 1..l_RowSet(1).count
LOOP
l_a_variable := l_RowSet(1)(row);
END LOOP;
l_RowSet
是 ApEx 类型 -- apex_plugin_util.t_column_value_list
-- 定义如下:
type t_column_value_list is table of wwv_flow_global.vc_arr2 index by pls_integer;
其中wwv_flow_global.vc_arr2
定义为
type vc_arr2 is table of varchar2(32767) index by binary_integer;
从函数vc_arr2
传回我的代码apex_plugin_util.get_data
。vc_arr2 是按列号而不是按行来索引的。
尽我所能,这意味着数据有效地存储在二维数组中,按列索引,然后按行索引。
使用 LOOP 语句时,它是从零开始索引还是从一开始?因为在我看来,我应该能够使该 LOOP 变得多余,即:
l_a_variable := l_RowSet(1)(1);
但我需要提前知道是否将 0 或 1 作为初始行。
我在 Oracle 文档中找不到明确的答案(不出所料,“索引”是一个相当广泛使用的术语),并且通过 SO 也没有向其他任何人展示同样的问题。