首页 > 解决方案 > APEX:如何在分离成数组后存储值并将它们写入表中

问题描述

我有一个APEX像 DATA 的项目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 项目中的信息之外的其他表。

有谁知道如何做到这一点?

标签: sqlplsqloracle-apex

解决方案


您可以使用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     

推荐阅读