Oracle 建立主细节关系时出现问题

Oracle 建立主细节关系时出现问题,oracle,oracle11g,oracleforms,Oracle,Oracle11g,Oracleforms,当试图通过向导建立主-详细关系时,什么也没有发生-表单不接受新关系 它必须在“关系”列表下创建关系,但未创建。 当尝试手动建立关系时,我收到了一条消息 分析联接条件时出错 问题是什么?在表单项之间创建关系,而不是在表列之间创建关系。例如,当您决定将项目重命名为:master.deptno和:deptno时,如果有名为master.department\u number和:detail.deptno的列名,则必须加入后者,而不是前者::master\u deptno=:detail.deptno

当试图通过向导建立主-详细关系时,什么也没有发生-表单不接受新关系

它必须在“关系”列表下创建关系,但未创建。 当尝试手动建立关系时,我收到了一条消息

分析联接条件时出错


问题是什么?

表单项之间创建关系,而不是在表列之间创建关系。例如,当您决定将项目重命名为
:master.deptno
:deptno
时,如果有名为
master.department\u number
:detail.deptno
的列名,则必须加入后者,而不是前者:
:master\u deptno=:detail.deptno

有时数据块名称会制造麻烦;如果是这种情况,请在关系中省略块名,即只使用
:deptno=:deptno
(看起来有点愚蠢,但是-这很有帮助)

除此之外,向导在创建主细节关系方面相当成功。检查主块是否已包含其创建的触发器(例如,填充详细信息上的
)。如果是,请删除或重命名它们,然后再次运行向导


若查询详细信息块返回的是所有行,而不是满足关系条件的行,则会创建双重检查代码向导。如果找不到原因,请尝试创建
预查询
详细信息块级别触发器并放置

:detail.deptno = :master.deptno;

在那里;然后再次运行表单,看看会发生什么。

我删除了旧的关系并重新构建了它。关系已经建立。但是现在,当我查询详细信息块时,无论条件如何,都会获取所有记录。为什么?例如,employee表中的所有记录,无论是否为deptnoI,都会在答案中添加更多信息;请看一看。非常感谢您,因为您的解决方案总是有效的