Oracle Forms - Master - 详细信息问题

时间:2012-02-21 17:49:01

标签: oracle oracleforms

我有一个包含标签画布的表单。

在第二个画布页面上,我有两个具有主要细节关系的数据块。

第一个块(主)由表(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列。

我想要实现的目标如下:

  1. 同时创建包含详细记录的主记录。

  2. 删除主记录

  3. 添加和删除详细记录

  4. 详细信息块中的插入只不过是通过更新表2中的sf_id列来将主记录与详细记录相关联。从详细信息块中删除只不过是在表2中将sf_id列设置为null。我实际上并没有在table_two中添加或删除记录。这有意义吗?

    我已尝试覆盖第二个块上的提交以执行更新,而不是Oracle实际尝试将新记录插入table_two。

1 个答案:

答案 0 :(得分:1)

尝试覆盖详细信息块的ON-INSERT触发器。确保它是一个完整的覆盖,而不是之前的火灾或火灾后的火灾。然后进行更新而不是默认的插入过程。