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

Posted

技术标签:

【中文标题】Oracle Apex 5.1 在使用进程按下按钮后运行 PL/SQL【英文标题】:Oracle Apex 5.1 run PL/SQL after button press with process 【发布时间】:2017-10-18 09:35:25 【问题描述】:

我正在尝试在按下按钮后在不离开页面的情况下更新表格行。我找到了这个例子:

javascript:
  var vGet = new htmldb_Get(null,$x('pFlowId').value,'APPLICATION_PROCESS=update_adressen',18);
  vGet.add('P18_ADRESSEN', document.getElementById('P18_ADRESSEN').value);
  vGet.get();
  vGet = null;
;

在本站:How To: APEX - Run a PL/SQL procedure from a button

我尝试运行的 PL/SQL 代码可以 100% 运行,目前不需要任何参数:

update orderregels set leveradressen_id = 3 where status='W';

javascript也在执行。

起初我尝试像教程一样在第 0 页运行 javascript 代码,但这不起作用。此错误实际上显示在我的调试窗口中(未找到第 0 页)。

之后,我将页面切换到我的进程所在的 18。之后没有出现调试行,所以我不知道出了什么问题。

我的进程位于此位置(第 18 页):

我不确定这是否是正确的地方。

我做错了什么?为什么没有显示调试消息?

【问题讨论】:

【参考方案1】:

不要那样做(那篇博文来自 2009 年!)请改用动态操作。创建一个在按下按钮时触发的动态操作并执行一段 PL/SQL 代码(您的更新语句)。

【讨论】:

非常感谢!我不知道这在顶点是可能的。但是现在我面临一个新问题:触发动态操作时,我的选择列表没有在 PL/SQL 中更新。我该如何解决这个问题? 在 PL/SQL 之后添加另一个动作来刷新项目?

以上是关于Oracle Apex 5.1 在使用进程按下按钮后运行 PL/SQL的主要内容,如果未能解决你的问题,请参考以下文章

Apex Oracle - 多个动态操作

如何更改 APEX 5.1 中的单行值?

oracle apex 只刷新一个区域而不是整个页面

如何解决 Oracle Apex 中的无效列错误?

Oracle APEX 5.1使用JDBC和查询数据连接到远程数据库

创建一个将在 apex 中更新数据库表的按钮