Массивы Oracle PL/SQL индексируются с 0 или с 1?

У меня перед глазами такой кусок кода:

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 также не показывает никого другого с таким же вопросом.

8
задан Justin Cave 27 July 2012 в 04:24
поделиться