Как зациклить G_FXX, где XX = (01,02..n) в Oracle Apex?
По сути, я хочу достичь циклического перемещения по массиву G_F0X, чтобы сделать мой код более компактным без использования, например:
APEX_APPLICATION.G_F01(1);
APEX_APPLICATION.G_F02(1);
APEX_APPLICATION.G_F03(1);
Конечно, это не работает, но я нигде не могу найти информацию и не знаю, как это сделать.
например:
for counter in 1..3 loop
APEX_APPLICATION.G_F0**{here comes the counter value}**(1);
end loop;
1 ответ
Решение
Я не знаю, есть ли лучший способ сделать это, но вы могли бы создать массив и хранить в нем переменные g_fXX. лайк:
declare
type t_vc_arr2 is table of apex_application_global.vc_arr2;
g_fXX t_vc_arr2 := t_vc_arr2 (
apex_application.g_f01
,apex_application.g_f02
,apex_application.g_f03
--,apex_application.g_fXX
);
begin
for i in 1 .. g_fXX.count loop -- loop through each apex_application.g_fXX array
for j in 1 .. g_fXX(i).count loop -- loop through each value of current apex_application.g_fXX array
dbms_output.put_line(g_fxx(i)(j));
end loop;
end loop;
end;
/