sql - 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 项目中的信息之外的其他表。
有谁知道如何做到这一点?
解决方案
您可以使用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