Oracle Apex 页面进程不存在条件问题

Posted

技术标签:

【中文标题】Oracle Apex 页面进程不存在条件问题【英文标题】:Oracle Apex Page Process NOT Exists Condition issue 【发布时间】:2016-04-20 14:41:18 【问题描述】:

在 Apex 4.1.1 应用程序中,我在“Entries”表上有一个表单,该表单也使用来自单独的“Reason_Codes”表的代码。当我的用户在表单上输入数据时,原因代码字段是带有自动完成功能的文本;这将允许用户从现有代码中进行选择,或者如果表上尚不存在新值,则可以声明它。

此字段中的值可以很容易地在“Entries”表的新行中输入,但新的原因代码也必须同时作为新值输入到“Reason_Codes”表中,这样它就可以用于未来。我已经创建了一个页面进程,以便在单击提交按钮后在正确的表上插入这个值,前提是它满足表上不存在这个值的条件。因此,我做了如下条件表达式(条件类型不存在):

SELECT 1 FROM REASON_CODES
WHERE UPPER(NAME) = UPPER(:p49_RC)

当我运行页面进行测试时,没有插入该值。我用更简单的条件表达式测试了 INSERT 函数(过程点为 On Load,条件类型为“Exists”):

SELECT 1 FROM dual
WHERE :P49_RC is not null

在这个简单案例中编写的插入函数。

我可能在这里遗漏了什么?

【问题讨论】:

能否也把插入的过程贴出来? 【参考方案1】:

如果进程在您将其设置为 On Load 但未设置为 On Submit 时运行,请检查分支或重定向,这会强制 On Submit 过程被触发。

您可以尝试的其他事情是删除条件并查看它是否在没有它的情况下执行并删除任何其他进程。

【讨论】:

我将其更改为 On Load(因为页面上的其他进程无论如何都会提交页面),现在它运行正常。

以上是关于Oracle Apex 页面进程不存在条件问题的主要内容,如果未能解决你的问题,请参考以下文章

在Oracle Apex中显示按钮时,服务器端条件取决于页面项的值?

Oracle Apex 5.1 在使用进程按下按钮后运行 PL/SQL

从 apex 页面进程调用 pl/sql 函数

使用页面项目值在 oracle apex 中搜索经典报告

Apex Oracle - 多个动态操作

提交表单数据不刷新页面oracle apex