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

时间:2018-04-20 12:13:09

标签: plsql oracle-apex-5

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

目前,我在班次服务上多次选择后,已将一个流程分配给我的提交按钮。班车布局如下:

部件有许多可以选择的part_names。所以该部分是主要特征,只发生一次。即:

part - part_name1
       part_name2
       part_name3
       part_name4

假设我们在航天飞机中选择了part_names part_name1part_name3,然后plsql代码应添加每个选择并将它们添加到单独的行中,但保持复制部分和其他字段,但目前它将添加单个部分,每列包含多个part_names。

流程plsql代码:

begin
insert into service_group (UNIQUEID, PART, PART_NAME, SERVICE) 
values (:P115_UID, :P115_PART, :P115_PART_NAMES, :P115_SERVICE);
end;

预期结果:

UID1 | part | part_name1 | Service1
UID2 | part | part_name3 | Service1

当前结果(错误)

UID1 | part | part_name1:part_name3 | Service1

请有人帮助我将每个人分成一行而不是合并在一行。

1 个答案:

答案 0 :(得分:4)

您需要使用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;