首页 > 解决方案 > 如何更新从其数据源设置为在 Oracle Apex 中查看的记录?

问题描述

我的 oracle apex 应用程序有一个事件页面,其中有一个 v_event 视图作为其数据源。此视图包含事件表包含的所有列,此外它还具有包含组织俱乐部名称的 club_name 列。报告按我现在想要的方式正确显示。 在此处输入图像描述

当我尝试更新记录时,我收到一条错误消息,提示“此视图上的数据操作操作不合法” 在此处输入图像描述

这一定是因为页面的数据源是视图。我怎么解决这个问题 ?

此外,当我尝试创建新事件时,我收到一个错误:

在此处输入图像描述

首先,我认为发生“...非键保留表”是因为事件和 club_event(俱乐部和事件之间的连接表)表之间的关系是一对多的,如果有多个俱乐部组织,同一事件行会重复多次它。因此,为了解决这个问题,我使用“LISTAGG”子句将单个赛事的多个俱乐部名称组合在一行中,使用逗号分隔,如您在上面第一张图片的第二行中所见。但这并没有解决问题。我究竟做错了什么?

顺便说一句,整个页面是 oracle apex 提供的“带表格的报告”。所以我可以通过创建一个新页面并将其数据源设置为事件表来解决这个问题。但我只是想了解是否有一种方法可以通过视图表创建新事件。

还有最后一个问题。如果表中的值为 1 并且“否”是值为 0,如何将第一张图像中“来自大学”和“来自社区”列中的值映射为“是”?

谢谢你。

标签: sqloracleoracle-apex

解决方案


视图需要与表进行 1:1 映射,并且具有“LISTAGG”的列应该将属性“Source > Query Only”设置为“On”。


推荐阅读