Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Zrozumieć Oracle Apex_Application.G_Fnn i jak z niego korzystać

Jesteś bardzo blisko.

select apex_item.checkbox2(10, empno) select_me,
apex_item.text(20, empno) empno,
apex_item.text(30, ename)||apex_item.hidden(50, empno) ename
from emp

Łączę ukryty element, ponieważ nie chcę go w jego własnej kolumnie. Bałagan z układem.
Ponadto ukryty element jest tam ze względu na działanie pól wyboru. Pola wyboru przesyłają swoje wartości tylko dla zaznaczonych elementów. Oznaczałoby to, że tablica 10 ma 3 wartości. Inne tablice nadal zawierałyby wartości dla wszystkich wierszy.
Dlatego ponownie dodałem ukryte empno:abyśmy mogli dopasować sprawdzone wartości do innych wierszy.

W procesie przesyłania:

DECLARE
   v_empno emp.empno%TYPE; 
   v_ename emp.ename%TYPE;
BEGIN
   --f10: checkbox
   --f20: empno
   --f30: ename
   --f50: empno again
   for i in 1..apex_application.g_f10.count
   loop
      for j in 1..apex_application.g_f50.count loop
         if apex_application.g_f10(i) = apex_application.g_f50(j) 
         then         
            -- access values for the selected rows in the other arrays
            v_empno := apex_application.g_f20(j);
            v_ename := apex_application.g_f30(j);

            apex_debug_message.log_message('Employee: '||v_empno||' - '||v_ename);
         end if;
      end loop;
   end loop;
END;

Uruchom stronę, włącz debugowanie, wybierz rekordy 2, 4 i 6, prześlij.

Wyjście debugowania:

Wszystko, co musisz teraz zrobić, to umieścić swoje przetwarzanie w tej pętli.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dlaczego klauzula Oracle IN ma limit 1000 tylko dla danych statycznych?

  2. Indeks nie jest używany z powodu konwersji typu?

  3. Co jest nie tak z tym PL/SQL? Bind Variable * NIE JEST ZADEKLAROWANY

  4. AUTONOMICZNA_TRANSAKCJA

  5. Oracle - w tym zakresie nie istnieje funkcja o nazwie X