Oracle
 sql >> база данни >  >> RDS >> Oracle

Как да създадете и използвате списък с множество избори в APEX ORACLE?

Има елемента Shuttle . От лявата страна ще покажете списък с всички служители. Бутоните за артикул ви позволяват да преместите всички (или само някои от тях) от дясната страна на елемента. След като изпратите страницата, списъкът с идентификатори на служители се съхранява в колона на таблица под формата на стойности, разделени с двоеточие, например

6547:8879:5587:9987

Това е прост начин да направите това. Въпреки това, след като наистина трябва да направите нещо с тези стойности, трябва да ги разделите на редове. Не е проблем обаче. Ето една заявка:

SQL> with emps (shuttle_item) as
  2    (select '6547:8879:5587:9987' from dual)
  3  select regexp_substr(shuttle_item, '[^:]+', 1, level) one_item
  4  from emps
  5  connect by level <= regexp_count(shuttle_item, ':') + 1;

ONE_ITEM
---------------------------------------------------------------------
6547
8879
5587
9987

SQL>

Или можете да създадете табличен формуляр, който също показва всички служители и има квадратчета за отметка в началото на всеки ред. След това ще създадете процес, който - в цикъл - съхранява избрани стойности във временна таблица ти спомена. Например:

-- F01 = row selector. If you check 1st and 3rd row, f01.count = 2 (2 rows checked)
--       f01(1) = 1 (row #1), f01(2) = 3 (row #3)
-- F02 = EMP_ID. f02(1) = EMP_ID that belongs to employee in 1st row, 
--       f02(3) = EMP_ID that belongs to emplyee in 3rd row
declare
  l_id number;
begin
  for j in 1 .. apex_application.g_f01.count
  loop
    l_id := apex_application.g_f02(apex_application.g_f01(j));

    insert into temp_table (emp_id) values (l_id);
  end loop;
end;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PL/SQL - Как да използваме масив в клауза IN

  2. Трябва да създам изглед, който предварително обединява трите таблици, включително всички записи от таблици на студенти и курсове (показани по-долу)

  3. Oracle създава таблица като избрано с условие за максимален брой

  4. Еквивалент на външни таблици на Oracle в SQL Server

  5. Върна ми курсора в моята функция на oracle PL/SLQ, но не всички редове се връщат. Можете ли да върнете само 1 ред във функция на Oracle pl/sql?