Apex Shuttle 将多个项目添加到单列中

3 plsql oracle-apex-5

我在 Apex 5 上使用 Shuttle 服务时遇到问题。

目前,在穿梭服务上进行多项选择后,我有一个流程分配给我的提交按钮。班车布局如下:

一个零件有许多可以选择的零件名称。所以零件是主要特征并且只出现一次。IE:

part - part_name1
       part_name2
       part_name3
       part_name4
Run Code Online (Sandbox Code Playgroud)

假设我们选择 part_names,part_name1然后part_name3在穿梭中,plsql 代码应该添加每个选择并将它们添加到单独的行中,但继续复制 part 和其他字段,但目前它将添加单个部分,每列有多个 part_names。

流程plsql代码:

begin
insert into service_group (UNIQUEID, PART, PART_NAME, SERVICE) 
values (:P115_UID, :P115_PART, :P115_PART_NAMES, :P115_SERVICE);
end;
Run Code Online (Sandbox Code Playgroud)

预期结果:

UID1 | part | part_name1 | Service1
UID2 | part | part_name3 | Service1
Run Code Online (Sandbox Code Playgroud)

当前结果(错误)

UID1 | part | part_name1:part_name3 | Service1
Run Code Online (Sandbox Code Playgroud)

请有人帮助我将每个放在单独的行中,而不是组合在列中。

Ton*_*ews 5

您需要使用apex_string.split从穿梭项目中获取各个值:

declare
   l_part_names apex_t_varchar2;
begin
   l_part_names := apex_string.split (:P115_PART_NAMES, ':');
   for i in 1..l_part_names.count loop
      insert into service_group (UNIQUEID, PART, PART_NAME, SERVICE) 
      values (:P115_UID, :P115_PART, l_part_names(i), :P115_SERVICE);
   end loop;
end;
Run Code Online (Sandbox Code Playgroud)