我有一个包含标签画布的表单。
在第二个画布页面上,我有两个具有主要细节关系的数据块。
第一个块(主)由表(table_one)驱动,其中包含以下字段:
sf_id (PK)
sf_code - VARCHAR2(40)
sf_desc - VARCHAR2(250)
第二个块(详细信息)是由表(table_two)驱动的重复块,其中包含以下字段:
error_code - VARCHAR2(40
error_code_desc - VARCHAR2(250)
is_major_error - VARCHAR2(1)
error_type - VARCHAR2(1)
error_is_active - VARCHAR2(1)
update_date - DATE
sf_id (FK - table_one.sf_id)
第二个块仅显示error_code和error_code_desc。此画布页面的目的是添加/删除主记录并将详细记录与主节点相关联。我从不想实际插入或删除表二中的记录;只是更新表2中的sf_id列。
我想要实现的目标如下:
同时创建包含详细记录的主记录。
删除主记录
添加和删除详细记录
详细信息块中的插入只不过是通过更新表2中的sf_id列来将主记录与详细记录相关联。从详细信息块中删除只不过是在表2中将sf_id列设置为null。我实际上并没有在table_two中添加或删除记录。这有意义吗?
我已尝试覆盖第二个块上的提交以执行更新,而不是Oracle实际尝试将新记录插入table_two。
答案 0 :(得分:1)
尝试覆盖详细信息块的ON-INSERT
触发器。确保它是一个完整的覆盖,而不是之前的火灾或火灾后的火灾。然后进行更新而不是默认的插入过程。