oracle apex:将主键指定为交互式网格rowid,在sql查询中使用select interactive grid rowid

9rygscc1  于 2021-07-29  发布在  Java
关注(0)|答案(1)|浏览(372)

作为序言——我是最年轻的。
我的任务是建立一个内部组织使用的应用程序。我们有一个数据库与病人的数据,并与医院的电子病历系统接口。输入电子病历的患者数据通过接口发送给我们,以更新我们数据库中的患者档案。部分匹配需要手动干预。
在暂存架构内的表中接收消息
尝试与现有患者匹配
如果只有“部分匹配”,则状态设置为“不匹配”
我想:
显示所有“不匹配”状态记录的摘要。我想使用交互式网格来选择单个记录。
将交互网格行的rowid设置为暂存表中记录的相应主键。
使用所选的交互式网格rowid(用户在交互式网格中选择一个特定的记录)来选择暂存表中相应记录的匹配主键,以创建sql查询来查找数据库中的潜在匹配项。潜在匹配项显示在第二个表中。
问题:
如何将交互式网格的rowid设置为临时表的唯一键列--一些研究表明我需要一个隐藏的项目,这是正确的吗?
如何访问已在交互网格中选择用于sql查询的rowid?
我谦虚的感谢和赞赏

kninwzqo

kninwzqo1#

所以,你的问题有点混乱,但据我所知。您正在从表a获取一些数据,试图将其与表b匹配。如果匹配的话,就和我们无关了。如果找不到匹配项,则要显示它,以便手动匹配。
在apex中,为了更新表,您需要选择它更新数据的主键。这通常是表中的一列,但也可以是rowid(只需像任何其他列一样将其包含在sql中)。
根据我对你的情况的了解,我给你的建议是什么。
以rowid作为主键,在交互式网格中显示不匹配的行。然后您需要有一个匹配的列,如果这些条目已经有某种您试图匹配但失败的键,则显示该列。并使该列成为popuplov,以便用户可以编辑该字段中的值,并将其设置为适当的匹配项。有一件事你需要小心。如果您正在编辑一个唯一的键,或者甚至是主键,您可能会在这里遇到冲突。即使在lov中只显示不匹配的数据,用户仍然可以编辑多行并尝试将两行匹配到同一个值,这将失败,并产生一个不太友好的错误。

相关问题