我面前有一段这样的代码:
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由列号索引,而不是按行索引.
最好的我可以看出这意味着数据有效地存储在2D数组中,按列然后按行索引.
使用LOOP语句时,是从零还是从一个索引?因为在我看来我应该能够使LOOP多余,即:
l_a_variable := l_RowSet(1)(1);
但我需要提前知道是否将0或1作为初始行.
我无法在Oracle文档中找到一个明确的答案(不出所料,“索引”是一个相当广泛使用的术语),并且通过SO查看并不会向任何其他人显示相同的问题.