Tak to mozliwe. Możesz usunąć (lub wyłączyć) standardowe procesy, takie jak ApplyMRU, i zastąpić je własnymi procesami PL/SQL, aby obsłużyć tablice formularzy tabelarycznych w następujący sposób:
for i in 1..apex_application.g_f02.count loop
update dept
set dname = apex_application.g_f03(i)
where deptno = apex_application.g_f02(i);
end loop;
Jednak nie jest to proste i musisz wiedzieć trochę, aby to zrobić dobrze, na przykład:
- Jak kolumny formularza tabelarycznego są mapowane na tablice, takie jak apex_application.g_f03 (wyświetl źródło strony i poszukaj nazw kontrolek, np. „f03_0001”).
- Jak niektóre typy elementów, takie jak pola wyboru, działają inaczej niż inne
- Jak wykonać optymistyczne blokowanie, aby zapobiec utracie aktualizacji
Kiedyś na apex.oracle.com znajdował się dokument „jak to zrobić”, który szczegółowo to opisywał, ale ostatnio nie byłem w stanie go zlokalizować.