如何在 oracle apex 18 中编辑交互式网格(带有复杂的 sql 查询)?

Posted

技术标签:

【中文标题】如何在 oracle apex 18 中编辑交互式网格(带有复杂的 sql 查询)?【英文标题】:How to edit Interactive Grid (with complex sql query) in oracle apex 18? 【发布时间】:2019-05-07 01:57:09 【问题描述】:

我正在尝试在 Oracle Apex 18 中制作交互式网格页面。

我的 oracle 工作区中有三个数据库。 首先是一个类别, 二是内容, 三是类别与内容的映射表 (类别可以有多个内容,内容也可以)

分类表是这样的:

| CATEGORY_ID | CATEGORY_NAME |<br/>
|  01         |  Comedy       |  <br/>
|  02         |  Horror       |   <br/>
|  03         |  Romance      |   <br/>

内容表是这样的:

| CONTENT_ID | CONTENT_NAME  |<br/>
|    A       | little prince |<br/>
|    B       | rabbit        |<br/>
|    C       | blahblah      |<br/>

和这样的映射表:

| MAPPING_ID | CATEGORY_ID | CONTENT_ID | PRIORITY |<br/>
|   aa       |    01       |   A        |    2     |<br/>
|   bb       |    02       |   A        |    1     |<br/>
|   cc       |    01       |   B        |    5     |<br/>
|   dd       |    03       |   B        |    2     |<br/>
|   ee       |    02       |   C        |    3     |<br/>
|   ff       |    03       |   C        |    4     |<br/>

CATEGORY 订购组时使用优先级 我想制作这样的交互式网格。

select <br/>
  MAPPING_ID,<br/>
  PRIORITY,<br/>
  CATEGORY_ID,<br/>
  CONTENT_ID,<br/>
  (select CONTENT_NAME from CONTENT where CONTENT_ID=CONTENT_ID) as content name,<br/>
  (select CATEGORY_NAME from CATEGORY where CATEGORY_ID=CATEGORY_ID) as category name<br/>
from MAPPING_TABLE;

我只想编辑该交互式网格中的优先行, 并更新MAPPING_TABLE 元素(仅用于优先级)。 (在真实表中被实际接受的结果)

但是当我在交互式网格中编辑优先级值并单击保存按钮时, 我收到这样的消息:

Ajax call returned server error ORA-20987: APEX - Process ' Save Interactive Grid Data' raised 'ORA-02014: can not use FOR UPDATE statement' while performing row locking. This error can occur when the process issues a SELECT FOR UPDATE on a complex view with an instead-of trigger, to lock the row. Set the process attribute 'Lock Row' to No or PL/SQL Code. - Contact your application administrator. for .

我该如何解决? 提前谢谢你:)

【问题讨论】:

【参考方案1】:

你好米罗斯拉夫·格拉穆兹娜,

将关系列(外键)设置为仅查询。 您只能在交互式网格中编辑主表的列

【讨论】:

以上是关于如何在 oracle apex 18 中编辑交互式网格(带有复杂的 sql 查询)?的主要内容,如果未能解决你的问题,请参考以下文章

在将编辑内容保存到数据库之前验证 Oracle Apex 可编辑交互式网格

如何仅使用 sql 在 apex oracle 的交互式网格中实现选择列表以及 oracle APEX 中可用的内容?

Oracle Apex 有用笔记系列 6 - 可编辑交互报告 Editable Interactive Report

Oracle APEX - 交互式网格设置

如何在 Oracle APEX 交互式网格报表中维护正在运行的计数器

如何获取要显示在 Oracle APEX 交互式报告中的图像或链接?