APEX:如何在将值分成数组并将其写入表后存储值

时间:2018-10-09 10:46:34

标签: sql plsql oracle-apex

我有一个APEX项,其数据像Test1:Test2:Test3:Test:4:CAR

我想将它们分开。每个“:”之后应有自己的一行。

我这样意识到:

SELECT trim(regexp_substr(:P_69, '[^:]+', 1, LEVEL)) str
FROM DUAL
CONNECT BY instr(:P_69, ':', 1, LEVEL - 1) > 0;

现在我得到:

str
Test1
Test2
Test3
Test4
CAR

但是现在我想在insert [... ...] when d.Test1 = Test1之类的表中插入数据

d.Test1不同于我的Apex ITEM中的信息。

有人知道怎么做吗?

1 个答案:

答案 0 :(得分:3)

您可以使用APEX_STRING.split来拆分项目,例如:

SELECT column_value
  FROM TABLE(APEX_STRING.SPLIT(:P_69, ':'))

这还可以用于与另一个表进行连接,而该表应该可以用于插入:

SELECT column_value
  FROM TABLE(APEX_STRING.SPLIT(:P_69, ':')) i
 INNER JOIN your_other_table d ON d.test1 = i.column_value