【发布时间】:2012-02-28 16:02:32
【问题描述】:
我在将复选框与插入/更新语句结合使用时遇到了一些问题。就目前而言,我有一份可用信用卡的报告,每行旁边都有一个复选框。用户可以选择他们想要批准的数量,然后点击提交按钮来更新他们的个人资料。这就是我卡住的地方。
我希望有一个 PSQL 进程,该进程将根据所述信用卡是否存在来更新用户配置文件表。如果它不存在,那么我们插入所有相关信息。如果它已经存在,我要做的就是通过将“Approved_flag”更改为“Y”来更新该记录。我已经编写了这个代码块,它可以插入新记录并且工作正常:
FOR i in 1..APEX_APPLICATION.G_F01.count
LOOP
INSERT INTO ls_credit_cards(credit_card_id, created_by, created_on, card_id, user_id, approved_flag)
VALUES (apex_application.g_f01(i), :F125_USER_ID,sysdate, :P58_CARDS, :P58_USER, 'Y');
END LOOP;
我知道 ORACLE 不支持通常的 if/else 命令,所以我对此进行了一些研究,发现我可能应该使用 MERGE 命令,但我所看到的一切使它使用两个表。我所使用的只是一个,所有数据都是从报告/复选框中获取的,所以我在这里有点不知所措。在这种情况下我还可以使用 MERGE 命令吗,或者还有什么可以更好地满足我的目的吗?
【问题讨论】:
标签: plsql oracle-apex