Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Forms 如何使基于复杂视图的主明细表可更新_Forms_Oracle - Fatal编程技术网

Forms 如何使基于复杂视图的主明细表可更新

Forms 如何使基于复杂视图的主明细表可更新,forms,oracle,Forms,Oracle,我正在创建一个表单,其中包含一个主数据块和两个详细数据块,每个数据块基于一个复杂视图(3-5个表),并且在其屏幕上有多行 “主要和详细信息”屏幕上的某些字段需要更新。我如何在同一个主详细信息屏幕上进行更新,而无需基于单个表添加另一个表单屏幕进行更新 谢谢您的帮助。在您需要的每个块上写一个更新触发器,手动更新您想要的每个表。谢谢您为我指明方向。我现在创建了触发器和可更新的细节表单,但没有创建主窗体。编译时,我得到FRM-30100:块必须至少有一个主键项。Block:INDS\u CCR\u MA

我正在创建一个表单,其中包含一个主数据块和两个详细数据块,每个数据块基于一个复杂视图(3-5个表),并且在其屏幕上有多行

“主要和详细信息”屏幕上的某些字段需要更新。我如何在同一个主详细信息屏幕上进行更新,而无需基于单个表添加另一个表单屏幕进行更新


谢谢您的帮助。

在您需要的每个块上写一个更新触发器,手动更新您想要的每个表。

谢谢您为我指明方向。我现在创建了触发器和可更新的细节表单,但没有创建主窗体。编译时,我得到FRM-30100:块必须至少有一个主键项。Block:INDS\u CCR\u MANAG\u MAIN FRM-30100:Block必须至少有一个主键项。Block:INDS_CCR_MANAG_DETAIL2主表和明细表更新具有PK的同一客户表。详图视图有两个基表,第二个基表上没有键。主视图有5个基表。其中三个是原生Oracle EBS表,没有PK。如何修复该错误?非常感谢。在前端,我从主更新中获得了ORA-01779。详细表单确定。在其块中每个PK项的属性调色板上的主键设置为“是”后,FRM-30100错误消失,但主表单仍然不可更新,错误OAR-01779-无法修改映射到非键保留表的列。请帮帮我,专家!提前谢谢。请检查块属性:-数据库数据块设置为“是”?-查询数据源类型设置为哪个选项?-查询数据源名称具有什么值?此新错误表示您正在尝试更新视图。您应该检查是否所有的块都有更新触发器,以及它们的语句是否只更新表而不是视图。嗨,Elisa,好消息!通过更新表而不是视图解决了此问题。只有一些视图是可更新的,但表是有保证的。再次感谢你,伊莉莎。但是等等。。。该项目提出了一个新的要求:用户希望在主窗体上拥有一个控件——显示所有记录、打开的记录或关闭的记录,这些记录可以基于基表的一列。你怎么能做到?这是另一个问题--我应该把它作为一个新的发布吗?不客气!我想你应该提出另一个问题,详细描述一下。ps:我的名字是Elias,不是Elisa-lol