目の前に次のようなコードがあります。
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ステートメントを使用する場合、これはゼロからインデックス付けされますか、それとも1からインデックス付けされますか?そのLOOPを冗長にすることができるはずだと私には思えるので、次のようになります。
l_a_variable := l_RowSet(1)(1);
ただし、最初の行として0を指定するか1を指定するかを事前に知っておく必要があります。
Oracleドキュメントで明確な答えを見つけることができません(当然のことながら、「インデックス」はかなり広く使用されている用語です)。SOを調べても、同じ質問をしている人は誰もいません。