在包含大量项目的页面上执行ARP

时间:2019-03-28 07:29:48

标签: oracle-apex dml oracle-apex-18.2

我有一个顶点形式,由大约50个文本字段和单选按钮组成。

我试图创建用于自动行处理的页面处理。效果很好,但前提是我的表格的每个页面项都有一个列。

即使页面项目很多,实际上它们背后的问题是相同的。所以我真正想要执行的是逐行收集这些数据。即

代替

1      True    False   True      foo

我想这样存储我的数据

1        True         foo
2        True         goo
3        False        hoo
50       False        zoo

由于找不到自定义 ARP的方法,我决定通过一些手工工作来完成。

但是我仍然感到自己的努力是徒劳的。我不禁要想到,除了必须为整个页面创建插入/更新语句之外,还必须有其他一些更明智的解决方案。我的意思是我不能成为唯一提出这一需求的人,对吧?

非常感谢您。

1 个答案:

答案 0 :(得分:0)

我希望您可以使用APEX_COLLECTION来满足您的要求。它临时存储与当前登录到应用程序中的用户的会话相关联的数据。下面是示例代码,供您参考。

begin
  if not apex_collection.collection_exists('SAMPLE_COLLECTION') then 
 APEX_COLLECTION.CREATE_OR_TRUNCATE_COLLECTION(p_collection_name => 'SAMPLE_COLLECTION');
  apex_collection.add_member(
    p_collection_name => 'SAMPLE_COLLECTION',
    p_c001 => :P1_TEST_ITEM1,
    p_c002 => :P1_TEST_ITEM2,
    p_c003 => :P1_TEST_ITEM3,
    p_c004 => :P1_TEST_ITEM4,
    p_c005 => :P1_TEST_ITEM5,
  );

 end if;
 end;

您可以使用下面的SELECT语句选择存储的数据。

select  c001, c002,c003,c004, c005 
 from apex_collections where collection_name = 'SAMPLE_COLLECTION'

Please refer this link to explore more on APEX_COLLECTION