Oracle Apex 20 多对多关系 - 添加记录
Posted
技术标签:
【中文标题】Oracle Apex 20 多对多关系 - 添加记录【英文标题】:Oracle Apex 20 Many to Many Relationship - Adding records 【发布时间】:2021-06-22 18:51:20 【问题描述】:我是 APEX 的初学者,我需要帮助才能在 apex 中制作多对多模型。在 ACCESS 中看起来很简单的事情已经让我头疼了好几个星期。 基本上我要做的是在我从我们的仓库加急货物时生成记录(我们仓库的每次远征都可以有一定数量的多个物品) 我有以下表格:
EXPEDITION_RECIEPT:
create table EXPEDITION_RECIEPT (
id number, pk,
info varchar2(4000 char)
)
;
MASTER_ITEMS:
create table MASTER_ITEMS (
id number, pk,
description varchar2(4000 char)
)
;
MASTER_ITEMS_EXPEDITION_RECIEPT:
create table MASTER_ITEMS_EXPEDITION_RECIEPT (
id number, pk,
EXPEDITION_RECIEPT_ID FK,
MASTER_ITEM_ID FK,
QTY NUM
)
;
我查看了主从页面,但据我了解,这主要适用于一对多关系。我还没有找到让我的模型与 Master-Detail 一起工作的方法。我的直觉告诉我应该使用集合。我已经设法找到一种方法来用集合填充我的表,但问题是,一旦我使用 colletcions 创建记录并将其添加到我的 MASTER_ITEMS_EXPEDITION_RECIEPT 表中,我就无法再选择再次打开它并对其进行更改。
有人可以就什么是正确的方法给我任何建议,并引导我举一些例子。我想大多数面向业务的应用程序都以某种方式实现了这一点。
感谢您的任何建议。
雅库布
【问题讨论】:
【参考方案1】:对不起,但是 - 这种多对多关系如何?一张远征收据可以包含一件或多件物品。如果是这样,那就是一对多。
您发布的表格在我看来还不错。
主从页面会有
expedition_receipt
作为主人和
交互式网格(基于master_items_expedition_receipt
表)作为细节
expedition_receipt_id
列将从主区域继承其值
您可以从 LoV(值列表)(选择列表或弹出 LoV)中选择 master_item_id
【讨论】:
嗯,我的理解是,因为一个探险收据可以有许多 master_items,但任何 master_item 也可以在许多探险收据上——这意味着多对多的关系。我尝试根据您的建议使用向导实现主-详细信息页面,但没有成功。向导不会让我选择 master_items_expedition_receipt。最后我手动实现了你的步骤(不是使用向导和它的作品。)以上是关于Oracle Apex 20 多对多关系 - 添加记录的主要内容,如果未能解决你的问题,请参考以下文章