我想将oracle apex中复选框的选中名称的值放入表中,但无法执行此操作。 我尝试从Google寻求帮助,但提到的步骤也行不通。 如果我已经填写了空白表格,然后在其中添加了一个复选框,那么我也可以从LOV中获取该复选框的值。
答案 0 :(得分:2)
据我了解,您正在使用值列表作为复选框的来源。假设您在其中具有以下值:
return value display value
----------------------------
123 andAND
456 Dibya
789 Anshul
321 aafirst
555 Anuj
选择多个值时,APEX会将其返回值放入字符串中,并用:
分隔它们。因此,对于您的屏幕快照,情况P12_NEW
中的值为123:555
。要拆分此值,可以使用以下查询:
select regexp_substr(:P12_NEW, '[^:]+', 1, level) values
from dual
connect by regexp_substr(:P12_NEW, '[^:]+', 1, level) is not null
结果将是:
values
------
123
555
接下来,您需要将这些值放入表usr_amt
中(让我们在列user_id
和amount
中输入,并将金额输入到项目P12_AMOUNT
中):< / p>
merge into usr_amt t
using (select regexp_substr(:P12_NEW, '[^:]+', 1, level) user_id
from dual
connect by regexp_substr(:P12_NEW, '[^:]+', 1, level) is not null
) n on (n.user_id = t.user_id)
when matched then update
set t.amount = :P12_AMOUNT
when not matched then insert (user_id, amount)
values (n.user_id, :P12_AMOUNT)
此查询将搜索表中选择的每个user_id
,如果用户在那里出现,则将相应的值更新为项目:P12_AMOUNT
的值(如果不存在)-插入一行user_id
和值。